当前位置:   article > 正文

DM6437-读写SRAM测试过程_sram读写程序

sram读写程序


硬件平台:DM6437EVM

调试工具:CCS3.3

编写SRAM  读写程序:

  1. Uint32 memfill_print( Uint32 start, Uint32 len, Uint32 val )
  2. {
  3.     Uint32 i;
  4.     Uint32 end = start + len;
  5.     Uint32 errorcount = 0; /* Write Pattern */
  6.     for ( i = start; i < end; i += 4 )
  7.     {
  8.         *( volatile Uint32* )i = val;
  9.     }
  10.  //从起始地址开始,依次写入同一个测试值
  11.    
  12.     /* Read Pattern */
  13.     for ( i = start; i < end; i += 4 )
  14.     {
  15.         if ( *( volatile Uint32* )i != val )
  16.         {
  17.             errorcount++;
  18.             break;        }
  19.  //从起始地址开始,依次将存入的值打印输出
  20.         printf( "%x\n",*( volatile Uint32* )i );
  21.     }return errorcount;

  (volatile Uint32 *)i :将 i 强制转换成易变指针,指向start,start为SRAM写入的首地址。

*(volatile Uint32 *)i :改写 i 指向地址中的值。

编写test函数:

  1. Int16 sram_test_1( void )
  2. {
  3. Uint32 errors = 0;
  4. Uint32 base = EMIF_CS2_BASE; //起始地址在evmdm6437.h中定义
  5. // #define EMIF_CS2_BASE 0x42000000
  6. Uint32 size = 0x00000100;
  7. /* Initialize SRAM */
  8. sram_init( ); //sram初始化
  9. /* Data tests */
  10. memfill_print( base, size, 0xFFFAAAAA );
  11. }

编写主函数:

  1. void main( void )
  2. {
  3. /* Initialize BSL */
  4. EVMDM6437_init( );
  5. sram_test_1( );
  6. printf( "\n***ALL Tests Passed***\n" );
  7. }


运行结果正常:


易失败点:

①在.c文件中使用printf函数的时候要注意加上stdio.h

②测试的时候将EVM板上的JP2跳线帽跳到SRAM,方能进行SRAM的测试。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号