内存扩展测试
内存容量从64M扩展到128M
basic-lcd-project-at91sam9263-ek-iar\basic-lcd-project-at91sam9263-ek\at91lib\boards\at91sam9263-ek\at91sam9263\sdram.icf
/*-Memory Regions-*/
define symbol __ICFEDIT_region_SDRAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_SDRAM_end__= 0x27FFFFFF;
basic-lcd-project-at91sam9263-ek-iar\basic-lcd-project-at91sam9263-ek\resources\iar\at91sam9263-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,直接初始化大内存。
内存扩展AT91SAM9263EKIA 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)