基於s3c2440關於 啓動過程中的norflash 與 nandflash

一:地址空間的分配

3:norflash不用來運行代碼,只用來存儲代碼,NORflash,SDRAM可以直接運行代碼)

7個bank的起始地址是固定的

還有一個靈活的bank的內存地址,並且bank大小也可以改變

OM[1:0]=00時,處理器從NAND Flash啓動

OM[1:0]=11時,處理器從Test Mode啓動。

當從NAND啓動時

Arm的啓動都是從0地址開始,所不同的是地址的映射不一樣。在arm開電的時候,要想讓arm知道以某種方式(地址映射方式)運行,不可能通過你寫的某段程序控制,因爲這時候你的程序還沒啓動,這時候arm會通過引腳的電平來判斷。

爲什麼會有這兩種啓動方式,關鍵還是兩種flash的不同特點造成,NOR FLASH容量小,速度快,穩定性好,輸入地址,然後給出讀寫信號即可從數據口得到數據,適合做程序存儲器。NAND FLASH 總容量大,但是讀寫都需要複雜的時序,更適合做數據存儲器。這種不同就造成了NORflash可以直接連接到arm的總線並且可以運行程序,而NANDflash必須搬移到內存(SDRAM)中運行。

在實際的開發中,一般可以把bootloader燒入到Norflash,程序運行可以通過串口交互,進行一定的操作,比如下載,調試。這樣就很可以很方便的調試你的一些代碼。Norflash中的Bootloader還可以燒錄內核到Norflash等等功能。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章