欧美激情久久久久久,人妻久久精品天天中文字幕,国产精品无码色一区二区三区按摩 ,日韩中文无码有码免费视频

程控直流電源程序燒寫(xiě)的簡(jiǎn)單幾步里有多少知識點(diǎn)?

在剛開(kāi)始學(xué)習ARM9的裸機編程和Linux系統移植的時(shí)候,程控直流電源程序燒寫(xiě)Nand flash內存的時(shí)候對一些指定的地址產(chǎn)生了疑惑。

看過(guò)很多教學(xué)視頻,他們在程控直流電源程序燒寫(xiě)程序到Nand flash的時(shí)候一般會(huì )指定一個(gè)地址0X3000_0000,而S3C2440的官方手冊上指明了0X3000_0000地址對應的片內外設是SDRAM。這不禁讓人產(chǎn)生疑問(wèn):明明是指定了SDRAM卻程控直流電源程序燒寫(xiě)到了Nand flash,這到底是為什么呢?


要解答這個(gè)問(wèn)題,首先要從Nand flash本身的結構說(shuō)起。Nand flash的結構和RAM不一樣,它的數據線(xiàn)是復用的,內與足夠的地址線(xiàn)用來(lái)尋址,對于它的數據存取通常是以塊為單位。這一點(diǎn)跟Nor flash不一樣,Nor flash帶有RAM接口,有足夠的地址線(xiàn)進(jìn)行尋址,所以CPU可以訪(fǎng)問(wèn)Nor flash內部的每一個(gè)字節,程序可以在nor flash中運行,而Nand flash不行,所以Nand flash中的程序想要運行必須拷貝到內存(一般是SDRAM)當中來(lái)。


當我們想程控直流電源程序燒寫(xiě)程序至Nand flash中時(shí),會(huì )借助一個(gè)“中轉站”,既SDRAM。程序先程控直流電源程序燒寫(xiě)到SDRAM中(這就是指定0X3000_0000地址的原因),然后在從SDRAM中拷貝到Nand flash中去,而這個(gè)拷貝工作由實(shí)現程控直流電源程序燒寫(xiě)到Nor flash中的uboot程序引導完成。

 

此外

當我們向2440開(kāi)發(fā)板移植Linux系統的時(shí)候,要向Nand flash程控直流電源程序燒寫(xiě)三個(gè)文件,分別是:uboot、Linux kernel和文件系統。每一步的程控直流電源程序燒寫(xiě)也跟前面一樣借用SDRAM作為程控直流電源程序燒寫(xiě)的“中轉站”。但是,我們在程控直流電源程序燒寫(xiě)的時(shí)候并沒(méi)有對每一步的程控直流電源程序燒寫(xiě)地址做特定的處理,那怎么能夠保證寫(xiě)著(zhù)三個(gè)文件的時(shí)候后面的不會(huì )覆蓋前面的呢?個(gè)人理解是:還是Nor flash中的uboot程序的功勞,它會(huì )引導著(zhù)三個(gè)文件分別拷貝到Nand flash的不同位置中。


那么

說(shuō)完了Nand flash燒錄的問(wèn)題,自然而然就應該說(shuō)一下Nand flash中程序運行的問(wèn)題。前面我們說(shuō)到,Nand flash中不可以執行程序,而在我們選擇從Nand flash啟動(dòng)的時(shí)候,S3C2440會(huì )自動(dòng)將Nand flash的前4KB的代碼拷貝到內存當中一個(gè)Stepping Stone(一般稱(chēng)為墊腳石)的片內內存當中(這一步操作由芯片內部的硬件決定,不用我們操心),PC跳轉到0地址去執行這些代碼。


但是

這個(gè)片內內存只有4KB,當我們在Nand flash中的程序大于4KB的時(shí)候怎么辦呢?


這時(shí)候

就是這最先拷貝過(guò)去的4KB代碼發(fā)揮作用的時(shí)候了。這4KB的代碼會(huì )幫我們初始化SDRAM,然后將Nand flash中剩下的代碼一并拷貝到SDRAM中,PC跳轉到SDRAM中去執行剩下的程序(所以我們的裸機程序一般不會(huì )超過(guò)4KB)。


雖然說(shuō)

程控直流電源程序燒寫(xiě)只有短短的幾步,但是其中蘊含的知識點(diǎn)還是蠻多的,這或許也就是嵌入式的特點(diǎn)吧。


圖片加載中...

在線(xiàn)留言

◎歡迎您的留言,您也可以通過(guò)以下方式聯(lián)系我們:

◎客戶(hù)服務(wù)熱線(xiàn):021-51095123

◎郵箱:xin021@126.com

展開(kāi)