新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 内存扩展测试

内存扩展测试

作者: 时间:2016-11-22 来源:网络 收藏
AT91SAM9263EK IAR

内存容量从64M扩展到128M

本文引用地址:https://www.eepw.com.cn/article/201611/320037.htm

basic-lcd-project-at91sam9263-ek-iarbasic-lcd-project-at91sam9263-ekat91libboardsat91sam9263-ekat91sam9263sdram.icf

/*-Memory Regions-*/
define symbol __ICFEDIT_region_SDRAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_SDRAM_end__= 0x27FFFFFF;

basic-lcd-project-at91sam9263-ek-iarbasic-lcd-project-at91sam9263-ekresourcesiarat91sam9263-ek-sdram.mac

//* psdrc->SDRAMC_CR = AT91C_SDRAMC_NC_9 | AT91C_SDRAMC_NR_13 | AT91C_SDRAMC_CAS_2 |
// AT91C_SDRAMC_NB_4_BANKS | AT91C_SDRAMC_DBW_32_BITS | AT91C_SDRAMC_TWR_2 | AT91C_SDRAMC_TRC_7 |
// AT91C_SDRAMC_TRP_2 | AT91C_SDRAMC_TRCD_2 | AT91C_SDRAMC_TRAS_5 | AT91C_SDRAMC_TXSR_8 ;
// __writeMemory32(0x85227259,0xFFFFE208,"Memory");
__writeMemory32(0x8522725A,0xFFFFE208,"Memory");

应用程序编译到:

编译到sram, 不调用sdram初始化,程序可以运行,内存环回,还是64M
调用SDRAM初始化,程序可以运行,内存不环回,128M
修改配置文件无关

编译到SDRAM, 不修改配置文件,程序可运行,内存环回,64M
修改配置文件,程序可以运行,内存不环回,128M

sdram测试程序,必须编译到Sram,

编译到SDRAM, 调用SDRAM初始化函数,仿真时程序不死机

uboot引导运行时,程序死机。
uboot运行的时候,依然进行了SDRAM的初始化,相当于程序在SDRAM里面运行,然后又去初始化自己,显然是不可以的,所以程序死机。但是仿真的时候可以,可以理解为仿真器强制完成了这个过程,但是调用SDRAM读写函数的时候也会死机。

所以,当应用128M 内存的时候,要么编译到SRAM,调用SDRAM的初始化函数,要么修改uboot,直接初始化大内存。



评论


技术专区

关闭