標(biāo)題:
ARM9 學(xué)習(xí)筆記
[打印本頁(yè)]
作者:
liumei
時(shí)間:
2014-4-21 16:08
標(biāo)題:
ARM9 學(xué)習(xí)筆記
我使用的開(kāi)發(fā)板是TQ2440,芯片S3C2440
2012年12月23日22:36:43
這幾天對(duì)ARM有關(guān)地址 方面疑惑很不少,隨著不停地搜索資料和看視頻教程,總算有點(diǎn)思路,現(xiàn)整理如下,若路過(guò)人看到有錯(cuò)誤之處,歡迎提出修正,本人感激不盡。
1.用DNW燒寫(xiě)裸機(jī)程序時(shí),DNW軟件上的download address是指下載到內(nèi)存上某處位置(我認(rèn)為是SDRAM,具體還得看u-boot即bootloader的源代碼,我目前還沒(méi)研究到那) 的地址,下載到那里后,由u-boot里的另外一個(gè)命令(nand write)將這些下載過(guò)來(lái)的數(shù)據(jù)拷貝到這些數(shù)據(jù)“應(yīng)該”處于的位置,如下載運(yùn)行在nand flash的u-root,會(huì)被拷貝到nand flash的0地址處。
2.u-boot中的mtd命令可以查看由u-boot為了方便燒寫(xiě)數(shù)據(jù)而在nand flash上劃分的分區(qū)
3. J-Link不能燒寫(xiě)nand flash。
4.在ARM9里面,訪(fǎng)問(wèn)SDRAM的地址,是由SDRAM的容量大小和地址線(xiàn)的接法決定的,具體在ARM9的官方數(shù)據(jù)手冊(cè)上有表格描述。
接128M的SDRAM的話(huà),內(nèi)存的開(kāi)始地址是0x3000 0000。
5.SDRAM類(lèi)似內(nèi)存,因此常在網(wǎng)上的各高手們寫(xiě)的教程資料中被稱(chēng)為內(nèi)存。使用前需要初始化。
網(wǎng)上有這么一段敘述:
nand flash:適合大容量數(shù)據(jù)存儲(chǔ),類(lèi)似硬盤(pán);
nor flash:適合小容量的程序或數(shù)據(jù)存儲(chǔ),類(lèi)似小硬盤(pán);
sdram:主要用于程序執(zhí)行時(shí)的程序存儲(chǔ)、執(zhí)行或計(jì)算,類(lèi)似內(nèi)存。
區(qū)別:
nor flash:可以直接執(zhí)行指令,讀取速度較快,寫(xiě)入不太方便,擦除速度較慢。
nand flash:讀取速度比nor flash略快,但寫(xiě)入、擦除都較快。但可靠性略低,需要做損耗平衡、數(shù)據(jù)校驗(yàn)等。
因此:nor適合做程序存儲(chǔ),nand適合做大容量數(shù)據(jù)存儲(chǔ)。二者都可以掉電保存數(shù)據(jù)/程序。
sdram:掉電后數(shù)據(jù)不保存,運(yùn)行時(shí)需要?jiǎng)討B(tài)刷新,但讀取速度都比f(wàn)lash快,適合啟動(dòng)后的程序執(zhí)行。使用前需要初始化。
6.S3C2440A采用的是ARM920T的核心。
7.
SRAM:靜態(tài)隨機(jī)存儲(chǔ)器,就是它不需要刷新電路,不像動(dòng)態(tài)隨機(jī)存儲(chǔ)器那樣,每隔一段時(shí)間就要刷新一次數(shù)據(jù)。但是他集成度比較低,不適合做容量大的內(nèi)存,一般是用在處理器的緩存里面。像S3C2440的ARM9處理器里面就有4K的SRAM用來(lái)做CPU啟動(dòng)時(shí)用的。
8.在編程軟件中,常提到RO,RW的設(shè)置。RO是指read only ,一般設(shè)置為Flash起始地址,對(duì)于ARM,都是0x0的。RW是read and write,指RAM地址,一般設(shè)置為內(nèi)部SRAM起始地址,默認(rèn)跟在RO后面
2012年12月26日18:28:14
困擾了兩天,想用keil arm 來(lái)開(kāi)發(fā)和調(diào)試ARM裸機(jī)程序,但總是下載不了,調(diào)試有時(shí)也不行,原來(lái)還有一個(gè)問(wèn)題我沒(méi)理解。
就是需要設(shè)置一個(gè)的正確燒寫(xiě)nor flash。但是不是選擇里面原有的S3C2440 Nand flash SP,這個(gè)錯(cuò)誤我一直沒(méi)發(fā)現(xiàn)。。。而是選擇與TQ2440開(kāi)發(fā)板使用的nor Flash相近的算法,不過(guò)這個(gè)算法說(shuō)是不能擦除。不過(guò)沒(méi)關(guān)系,可以用JFlash ARM來(lái)擦除。
是這兩篇文檔解救了我,也使我更加了解ARM。哈哈!謝謝兩位作者。我現(xiàn)在可以調(diào)試和燒寫(xiě)裸奔程序了。~~~高興!
http://www.docin.com/p-307947458.html
http://wenku.baidu.com/view/854e ... ?from=rec&pos=3
不過(guò)也反映了一個(gè)問(wèn)題,自學(xué)就是這么碰運(yùn)氣,找到相關(guān)資料,再經(jīng)過(guò)自己整理思考才能解決自己遇到的問(wèn)題,如果是有老師帶的話(huà),或許可以立即解開(kāi),但是不夠自己去找資料了解得多,雖然很困難,因?yàn)锳RM還處于比較領(lǐng)先的科技前沿,相關(guān)文檔不如51、ARM多,但會(huì)用搜索引擎的關(guān)鍵字的話(huà),對(duì)我來(lái)說(shuō)成功解決問(wèn)題的幾率還是比較大的
作者:
sz1001
時(shí)間:
2014-7-18 17:37
謝謝分享
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1