<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > KEIL FOR ARM 下LPC22xx的外部RAM用法

KEIL FOR ARM 下LPC22xx的外部RAM用法

作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò ) 收藏
工作筆記:

調試外部RAM,我是在CS0上外擴了一個(gè)64K的RAM,也就是地址從0X80000000開(kāi)始。開(kāi)始不知道REALVIEW的設置,所以總是不能讀寫(xiě)RAM,沒(méi)有輸出信號,在KEIL下要做如下設置。

本文引用地址:http://dyxdggzs.com/article/201611/316613.htm

一、在“Options for Target Targe 1”下,選擇Asm菜單,在“Conditional Assembly Control Symbols”下的輸入框中填上EXTERNAL_MODE,然后按OK結束,

二、Startup.s這個(gè)文件也要做一定的改動(dòng)。

EMC_SETUP EQU 1 ;使能外部RAM控制。

BCFG0_SETUP EQU 1 ;使能CS0控制。如果用到別的片選,則都要使能。
BCFG0_Val EQU 0x1000554A; ;

;此時(shí)要注意BCFG0這個(gè)寄存器的設置,要仔細看內容,其分別定義了讀、寫(xiě)、連續的時(shí)鐘周期,重要的是,如果是RAM,RVLE位一定要置1,別的要根據你RAM的速度,來(lái)設置一個(gè)合適的值,位29、28決定了RAM的寬度,8位、16位、32位等。

三、另一個(gè)設置就是比較重要的PINSEL2

PINSEL2_Val EQU 0x0F000914

的設置的為16位總線(xiàn),A1-23地址線(xiàn)使能,使能CS0,OE ,WE;別的引腳則設置為了I/O,這個(gè)寄存器的位4、5應該看明白,你選擇的是多少位的總線(xiàn),然后就是看你需要的選擇了。

綜上,設置了這幾種寄存器,外部RAM就可以正常工作了。如果以上設置的不對,則可能沒(méi)有WE信號,也可能不產(chǎn)生CS0;下面是一個(gè)簡(jiǎn)單的例子。

#define RAMADDR 0x80000000 //外部RAM的基址。

void ExternRam(void)
{
volatile unint *buf;
unint data[512];
unint i;
for (i=0x00;i<512;i++)
{
buf=(volatile unint *) (RAMADDR | i<<1);
*buf=i;
}
for (i=0x00;i<512;i++)
{
buf=(volatile unint *) (RAMADDR | i<<1);
data[i]=*buf;
}
}

如果你寫(xiě)入的數據與讀出的數據一樣,那就說(shuō)明設置的對了,調試時(shí),最好用示波器看看WE,OE,CS0等信號是否正常。



關(guān)鍵詞: KEILFORARMLPC22xx外部RA

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>