關於NAND NOR啟動程式的具體走向

2021-06-29 11:53:37 字數 1209 閱讀 3339

看完《tq2440學習之硬體篇》,相信大家應該清楚nand flash和nor flash還有sdram的位址空間分配了吧。這裡我還是貼上,方便後面對啟動過程進行分析:

tq2440中記憶體分配及各儲存器特性:

nor flash:0x0000 0000 開始的 2mb空間,nor flash可以儲存程式也可以執行程式,介質很穩定,所以造價昂貴;

sdram:0x3000 0000開始的128mb,sdram掉電資料丟失,用來執行程式。

圖1 s3c2440啟動方式說明

由上圖可知,s3c2440支援兩種啟動模式:nand和非nand(這裡是nor flash),具體採用的方式取決於om0、om1兩個引腳的狀態。

om[1:0所決定的啟動方式

om[1:0]=00時,處理器從nand flash啟動            (nand flash啟動)

om[1:0]=01時,處理器從16位寬度的rom啟動

om[1:0]=10時,處理器從32位寬度的rom啟動。(nor flash啟動)

om[1:0]=11時,處理器從test mode啟動。

nor flash啟動流程:

上電,程式從nor flash的0x0000 0000開始執行,由於nor flash空間只有2mb,通常只能裝下bootloader,作業系統核心**和檔案系統裝在nand flash;bootloader在nor flash裡面執行,其中有一段**完成nand flash內容搬移到sdram上,然後通過跳轉到乙個標號完成程式從nor flash到sdram的操作。

nand flash啟動流程:

上電,程式從cpu自帶的4kb sram(cpu專門用於配合nand flash啟動方式的儲存器)的0x0000 0000開始執行,由於sram空間只有4kb,通常只能裝下bootloader或者一部分bootloader,作業系統核心**和檔案系統裝在nand flash;bootloader在sram flash裡面執行,在前4kb**完成nand flash內容搬移到sdram上,然後通過跳轉到乙個標號完成程式從sram 到sdram的操作。雖然叫做nand啟動,但是程式至始至終沒有在nand flash上面執行。

關於Django auth註冊登入模組的具體使用

1 from django.urls import path 2from import views 34 urlpatterns 5 主頁,用來顯示類別等其他資料 6 path views.index 7 登入8 path tologin views.tologin 9 註冊10 path regi...

linux關於後台啟動程式

正經學徒,佛系記錄,不搞事情 最終語句 nohup test.sh 1 dev null 2 1 解釋 建立test.sh測試指令碼 vi test.sh 內容 bin bash while true do echo 不停的執行 sleep 5 done 設定檔案許可權可執行 結果是內容直接輸出在控...

關於linux 的啟動

linux的第乙個程序是0號程序,一般認為0號程序建立了1號程序,1號程序建了所有的kernel程序,1號程序是所有程序的祖先。1號程序又稱init程序,init程序是所有程序之父。init讀取 etc inittab,以下是debian系統的inittab,init就是讀取這個檔案獲取的第乙個指令...