2440的nand啓動與nor啓動


一、調試經驗

1.一位老電腦科學家的提示:當你遇到怪問題時,重啓是一種最簡單的解決辦法之一。因爲操作系統本身有不完善之處,不管是微軟視窗還是蘋果電腦。

2.USB轉口線出現亂碼問題:說明串口線的功能和性能不穩定。可購買性能好的代替之。

二、問答

1.什麼是nand,什麼是nor?nand啓動與nor啓動的區別及聯繫。(收集整理)

答:1)在NOR FLASH裏面可以直接執行代碼,而在NAND FLASH裏面不可以,在2410裏面,如果選擇NAND啓動方式的話,NAND裏的代碼是被拷貝到RAM裏面去執行的。

2)NAND FLASH每次取數據前要寫入好像是0X55,0XAA纔行,而NOR FLASH直接取到數據。

3)NOR FLASH地址線和數據線分開,來了地址和控制信號,數據就出來。NAND Flash地址線和數據線在一起,需要用程序來控制,才能出數據。

2.如何開機進入BIOS模式?

答:將S2跳轉開關打至nor flash端即可。

3.使用supervivi作爲bootloader.而有些開發板使用uboot

4.SEC s3c241x什麼意思?

三、ARM的nor flash與nand flash啓動過程區別

s3c2440啓動過程詳解
1:地址空間的分配
2:開發板上一般都用SDRAM做內存flash(nor、nand)來當做ROM。其中nand flash沒有地址線,一次至少要讀一頁(512B).其他兩個有地址線
3:nandflash不用來運行代碼,只用來存儲代碼,NORflash,SDRAM可以直接運行代碼)
4:s3c2440總共有8個內存banks
  6個內存bank可以當作ROM或者SRAM來使用
  留下的2個bank除了當作ROM 或者SRAM,還可以用SDRAM(各種內存的讀寫方式不一樣)
  7個bank的起始地址是固定的
  還有一個靈活的bank的內存地址,並且bank大小也可以改變
5:s3c2440支持兩種啓動模式:NAND和非NAND(這裏是nor flash)。
具體採用的方式取決於OM0、OM1兩個引腳
OM[1:0]所決定的啓動方式
OM[1:0]=00時,處理器從NAND Flash啓動
OM[1:0]=01時,處理器從16位寬度的ROM啓動
OM[1:0]=10時,處理器從32位寬度的ROM啓動。
OM[1:0]=11時,處理器從Test Mode啓動。

6.開發板出廠時已經在nand flash,nor flash燒入了相同的BIOS。


當從NAND啓動時

    cpu會自動從NAND flash中讀取前4KB的數據放置在片內SRAM裏(s3c2440是soc),同時把這段片內SRAM映射到nGCS0片選的空間(即0x00000000)。cpu是從0x00000000開始執行,也就是NAND flash裏的前4KB內容。因爲NAND FLASH連地址線都沒有,不能直接把NAND映射到0x00000000,只好使用片內SRAM做一個載體。通過這個載體把nandflash中大代碼複製到RAM(一般是SDRAM)中去執行


當從非NAND flash啓動時

    nor flash被映射到0x00000000地址(就是nGCS0,這裏就不需要片內SRAM來輔助了,所以片內SRAM的起始地址還是0x40000000). 然後cpu從0x00000000開始執行(也就是在Norfalsh中執行)。

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