新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 內(nèi)存擴(kuò)展測(cè)試

內(nèi)存擴(kuò)展測(cè)試

作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
AT91SAM9263EK IAR

內(nèi)存容量從64M擴(kuò)展到128M

本文引用地址:http://butianyuan.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");

應(yīng)用程序編譯到:

編譯到sram, 不調(diào)用sdram初始化,程序可以運(yùn)行,內(nèi)存環(huán)回,還是64M
調(diào)用SDRAM初始化,程序可以運(yùn)行,內(nèi)存不環(huán)回,128M
修改配置文件無關(guān)

編譯到SDRAM, 不修改配置文件,程序可運(yùn)行,內(nèi)存環(huán)回,64M
修改配置文件,程序可以運(yùn)行,內(nèi)存不環(huán)回,128M

sdram測(cè)試程序,必須編譯到Sram,

編譯到SDRAM, 調(diào)用SDRAM初始化函數(shù),仿真時(shí)程序不死機(jī)

uboot引導(dǎo)運(yùn)行時(shí),程序死機(jī)。
uboot運(yùn)行的時(shí)候,依然進(jìn)行了SDRAM的初始化,相當(dāng)于程序在SDRAM里面運(yùn)行,然后又去初始化自己,顯然是不可以的,所以程序死機(jī)。但是仿真的時(shí)候可以,可以理解為仿真器強(qiáng)制完成了這個(gè)過程,但是調(diào)用SDRAM讀寫函數(shù)的時(shí)候也會(huì)死機(jī)。

所以,當(dāng)應(yīng)用128M 內(nèi)存的時(shí)候,要么編譯到SRAM,調(diào)用SDRAM的初始化函數(shù),要么修改uboot,直接初始化大內(nèi)存。



評(píng)論


技術(shù)專區(qū)

關(guān)閉