اطلاعیه

Collapse
No announcement yet.

برنامه ای برای تست External SRAM

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    برنامه ای برای تست External SRAM

    سلام دوستان.
    من یه برد آموزشی STM32 گرفتم و بعد از یکم کار کردن باهاش به خراب بودن رمش شک کردم.
    تست رمی که تو سی دی برد بود کار میکنه و حجم رم رو مینویسه. ولی برنامه های دیگه کار نمیکنن.
    مثلا برنامه سیستم عامل ucos لود میشه ولی بخشی که فریم بافر رو کنترل میکنه اصلا کار نمیکنه! در صورتی که آیکن ها به درستی بارگذاری میشن. (چند بار هم از رو SD پدیتش کردم!البته فکر نکنم فریم بافر به SD کاری داشته باشه). البته بگم که آیکن ها اولش نمیان و صفحه LCD تغییری نمیکنه و باید صفحه رو لمس کنم تا آیکن ها بیان.
    با خوندن سورس به این نتیجه رسیدم که احتمالا رم مشکل داره ولی باز نمیدونم درسته یا نه.


    کسی از دوستان برنامه ای نداره که بیاد و درستی نحوه ذخیره شدن دیتا در رم رو تست کنه؟ برنامه ای که تو سی دی هست فقط حجم اونو مینویسه(که البته حجمش رو حدود 950 کیلوبایت نشون میده).




    #2
    پاسخ : برنامه ای برای تست External SRAM

    کدوم برد رو داری؟
    هميشه به ياد خدا باش !

    دیدگاه


      #3
      پاسخ : برنامه ای برای تست External SRAM

      برد آموزشی STM32F103ZET6 فروشگاه

      دیدگاه


        #4
        پاسخ : برنامه ای برای تست External SRAM

        یعنی اون برنامه بایت به بایت می نویسه و می خونه همون مقدار رو؟
        ولی بقیه برنامه ها کار نمی کنن که با رم کار دارن؟
        هميشه به ياد خدا باش !

        دیدگاه


          #5
          پاسخ : برنامه ای برای تست External SRAM

          راستش من برنامه تست رو نفهمیدم چیکار میکنه.(اصلا نمیدونم چجوری مینویسه) فقط دیدم حجم رم رو مینویسه.
          ولی حتی برنامه خود ST که برای استفاده از رم خارجی به عنوان حافظه داده بود کار نکرد! (HardFault داد)


          البته یه برنامه دیگه پیدا کردم که هنوز وقت نکردم تستش کنم.


          دیدگاه


            #6
            پاسخ : برنامه ای برای تست External SRAM

            سلام.
            تونستم به نتایج جالبی برسم
            الان من اومدم این اعداد رو نوشتم:
            0xFFFF
            و
            0x0000
            که تو اولی عدد 0xFFF5 رو برگردوند و تو دومی 0x00F5 رو.
            یعنی این 8 بیتش همیشه برابر 0xF5 هست.

            دیدگاه


              #7
              پاسخ : برنامه ای برای تست External SRAM

              برنامه نمونه تست SRAM رو باز کن و تابع MAIN رو با این عوض کن و اجرا
              اگر OK بود که مشکل از جای دیگه هست
              توی برنامه یه بافر تعریف شده تو رم و بعد توش نوشته میشه و بعدش خونده و مقایسه
              مثل مثال خود سایت فقط من یکمی رنگ و لعاب دادم بهش
              کد:
              int main(void)
               {	 
              	u8 key;		 
               	u8 i=0;	   
              	u32 ttemp=0,tr,ts=0;
              	
              	 delay_init();	  	 
              	NVIC_Configuration(); 	 
              	uart_init(9600);	 	
               	LED_Init();			  
              	LCD_Init();
              LCD_Clear(65535);	 
              	KEY_Init();	 	
              	KEY_Init();	 	
               LCD_Init();
               FSMC_SRAM_Init();		
               	
              	 
              	 POINT_COLOR=RED;		
              	LCD_ShowString(60,50,200,16,16,"ECA STM32");	
              	LCD_ShowString(60,70,200,16,16,"SRAM TEST");	
              	LCD_ShowString(60,130,200,16,16,"KEY1:Test Sram");
              	LCD_ShowString(60,150,200,16,16,"KEY2:TEST Data");
               	POINT_COLOR=BLUE;
              	LCD_ShowString(60,180,200,16,16,"write data in sram");
              	 for(ts=0;ts<250000;ts++)testsram[ts]=ts;
              
              LCD_ShowString(60,200,200,16,16,"read data in sram");
              	 for(ts=0;ts<250000;ts++)
              	 {
              tr=testsram[ts];
              ttemp++;
              if (ttemp>249)
              {LCD_ShowxNum(60,220,ts,6,16,0);
              LCD_ShowxNum(60,240,tr,6,16,0);
              ttemp=0;}
              		 
              if (!tr==ts)
              { while(1){ 
              POINT_COLOR=RED;
              LCD_ShowxNum(60,220,ts,6,16,0);
              LCD_ShowxNum(60,240,tr,6,16,0);
              LCD_ShowString(60,260,200,16,16,"Fail Compare Data");
              LED1=!LED1;delay_ms(300);
              POINT_COLOR=0;
              LCD_ShowxNum(60,220,ts,6,16,0);
              LCD_ShowxNum(60,240,tr,6,16,0);
              LCD_ShowString(60,260,200,16,16,"Fail Compare Data");
              LED1=!LED1;delay_ms(400);
              }}}
              
              while(1){ 
              POINT_COLOR=GREEN;
              LCD_ShowxNum(60,220,ts,6,16,0);
              LCD_ShowxNum(60,240,tr,6,16,0);
              LCD_ShowString(60,260,200,16,16,"Compare Data OK");
              LED1=!LED1;delay_ms(300);
              POINT_COLOR=0;
              LCD_ShowxNum(60,220,ts,6,16,0);
              LCD_ShowxNum(60,240,tr,6,16,0);
              LCD_ShowString(60,260,200,16,16,"Compare Data OK");
              LED2=!LED2;delay_ms(400);
              }
                
              }
              هميشه به ياد خدا باش !

              دیدگاه


                #8
                پاسخ : برنامه ای برای تست External SRAM

                سلام.
                موقع تست اررور Fail compare data رو داد.

                دیدگاه


                  #9
                  پاسخ : برنامه ای برای تست External SRAM

                  پس اتصال شما با رم مشکل دار هست
                  پایه ها رو بررسی کن
                  به بقیه مثال که دست نزدین ؟
                  منظورم تنظیمات برنامه مثال سایت هست
                  هميشه به ياد خدا باش !

                  دیدگاه


                    #10
                    پاسخ : برنامه ای برای تست External SRAM

                    نه به برنامه دست نزدم.
                    کلا یه بار دیگه برنامه رو از روی CD ریختم.

                    دیدگاه


                      #11
                      پاسخ : برنامه ای برای تست External SRAM

                      اگر دست نزدی پس رم شما مشکل دارد
                      ارتباطات رو بررسی کن
                      هميشه به ياد خدا باش !

                      دیدگاه

                      لطفا صبر کنید...
                      X