赞
踩
硬件平台:DM6437EVM
调试工具:CCS3.3
编写SRAM 读写程序:
- Uint32 memfill_print( Uint32 start, Uint32 len, Uint32 val )
- {
- Uint32 i;
- Uint32 end = start + len;
- Uint32 errorcount = 0; /* Write Pattern */
- for ( i = start; i < end; i += 4 )
- {
- *( volatile Uint32* )i = val;
- }
- //从起始地址开始,依次写入同一个测试值
-
- /* Read Pattern */
- for ( i = start; i < end; i += 4 )
- {
- if ( *( volatile Uint32* )i != val )
- {
- errorcount++;
- break; }
- //从起始地址开始,依次将存入的值打印输出
- printf( "%x\n",*( volatile Uint32* )i );
- }return errorcount;
- }
(volatile Uint32 *)i :将 i 强制转换成易变指针,指向start,start为SRAM写入的首地址。
*(volatile Uint32 *)i :改写 i 指向地址中的值。
编写test函数:
- Int16 sram_test_1( void )
- {
- Uint32 errors = 0;
- Uint32 base = EMIF_CS2_BASE; //起始地址在evmdm6437.h中定义
- // #define EMIF_CS2_BASE 0x42000000
- Uint32 size = 0x00000100;
-
- /* Initialize SRAM */
- sram_init( ); //sram初始化
-
- /* Data tests */
- memfill_print( base, size, 0xFFFAAAAA );
- }
编写主函数:
- void main( void )
- {
- /* Initialize BSL */
- EVMDM6437_init( );
- sram_test_1( );
-
- printf( "\n***ALL Tests Passed***\n" );
-
- }
运行结果正常:
易失败点:
①在.c文件中使用printf函数的时候要注意加上stdio.h
②测试的时候将EVM板上的JP2跳线帽跳到SRAM,方能进行SRAM的测试。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。