m54455evb_sdram_test.c
来自「Freescale MCF5445evb 参考测试代码」· C语言 代码 · 共 66 行
C
66 行
/*! * \file m54455evb_sdram_test.c * \brief Test the SDRAM interface on the M54455EVB (aka Jamaica) * \version $Revision: 1.1 $ * \author Michael Norman */ #include "common.h"#include "m54455evb_fat.h" static int test_data[] = { 0x00112233, 0x44556677, 0x8899AABB, 0xCCDDEEFF, 0x00001111, 0x22223333, 0x44445555, 0x66667777, 0x88889999, 0xAAAABBBB, 0xCCCCDDDD, 0xEEEEFFFF, 0x00000000, 0x11111111, 0x22222222, 0x33333333, 0x44444444, 0x55555555, 0x66666666, 0x77777777};/********************************************************************//*! * \brief SDRAM Test * \return 0 if the tests was successful; non-zero otherwise */intsdram_test(void){ int i; if (memtest_databus_32((uint32 *)SDRAM_ADDRESS) || memtest_databus_32((uint32 *)SDRAM_ADDRESS+1) || memtest_databus_32((uint32 *)SDRAM_ADDRESS+2) || memtest_databus_32((uint32 *)SDRAM_ADDRESS+3) || memtest_databus_32((uint32 *)(SDRAM_ADDRESS+SDRAM_SIZE/2)) || memtest_databus_32((uint32 *)(SDRAM_ADDRESS+SDRAM_SIZE/2)+1) || memtest_databus_32((uint32 *)(SDRAM_ADDRESS+SDRAM_SIZE/2)+2) || memtest_databus_32((uint32 *)(SDRAM_ADDRESS+SDRAM_SIZE/2)+3)) return 1; if (memtest_addrbus_32((uint32 *) (SDRAM_ADDRESS+(SDRAM_SIZE/64*31)), SDRAM_SIZE/32)) return 2; if (memtest_device_32((uint32 *) (SDRAM_ADDRESS+(SDRAM_SIZE/64*31)), SDRAM_SIZE/32)) return 3; /* Clear a small portion of SDRAM */ for (i = 0; i < sizeof(test_data); i+=4) *(uint32*)(SDRAM_ADDRESS + i) = 0; /* burst from SRAM to SDRAM */ mcf5xxx_move_line((ADDRESS)&test_data[0], SDRAM_ADDRESS + 0); mcf5xxx_move_line((ADDRESS)&test_data[4], SDRAM_ADDRESS + 16); mcf5xxx_move_line((ADDRESS)&test_data[8], SDRAM_ADDRESS + 32); mcf5xxx_move_line((ADDRESS)&test_data[12], SDRAM_ADDRESS + 48); mcf5xxx_move_line((ADDRESS)&test_data[16], SDRAM_ADDRESS + 64); for (i = 0; i < 80/4; i++) { if (test_data[i] != *(uint32 *)(SDRAM_ADDRESS + i*4)) return 4; } return 0;}/********************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?