關於6410的sd卡和nandflash啟動的區別

2022-04-01 02:01:27 字數 697 閱讀 4022

今天在公司我們隊長問我個問題,關於cortex的sd啟動流程和nandflash的啟動流程,一下想不起來了,中午閒來無事就整理了整理當初6410的兩種啟動方式的區別。在這裡寫一下。有不對的請指點,我對rom,ram,sram這些實在學不通。

1,sd卡啟動6410

首先,sd卡啟動0位址在rom裡面,上電後,程式從0位址開始執行,將sd卡的前8kbootloader拷貝到sram裡面執行,這8kbootloader會對進行一些裝置的初始化,關閉看門狗,初始化nandflash,初始化時鐘,初始化必要的硬體裝置等等,執行完畢後,由rom執行程式將整個的bootloader拷貝到記憶體(這裡包括之前的8k),然後在記憶體執行bootloader,注意,此時將不再執行前8k,而是跳到某個函式位址開始執行。

2,nandflash啟動

首先,nand啟動呢,0位址不再是在rom裡,而是在乙個叫stepstone控制器裡。由它掌管執行指令的跳轉和程式拷貝。之後的執行和sd卡基本是一樣的。也是將bootloader的前8k拷貝到sram裡,之後同sd卡啟動,只是執行位址跳轉以及程式拷貝不由rom控制而是由stepstone控制器控制了。

綜上,這兩種啟動方式的不同有兩個:

1,對映0位址不一樣,sd卡0位址在rom裡,而nandflash啟動的0位址在sram裡。

2,sd卡啟動是用rom進行位址的跳轉和程式的拷貝,而nandflash啟動是用stepstone控制器來進行的。

關於s3c6410的SD卡啟動

要研究裸機程式的編寫,必須要有乙個 全裸 的環境。友善提供的superboot可以提供執行使用者自定義程式的能力,但其實這樣執行的程式環境還是依賴於superboot的,那些記憶體初始化 時鐘初始化,串列埠初始化等工作都已經由superboot做了。tiny6410支援nandflash和sd卡啟動...

關於S3C6410的SD卡啟動

要研究裸機程式的編寫,必須要有乙個 全裸 的環境。友善提供的superboot可以提供執行使用者自定義程式的能力,但其實這樣執行的程式環境還是依賴於superboot的,那些記憶體初始化 時鐘初始化,串列埠初始化等工作都已經由superboot做了。tiny6410支援nandflash和sd卡啟動...

關於SD卡的故事

sd secure digital memory card 卡與u盤生在同年,可以稱為表兄弟,也是一種基於半導體快閃記憶器 nand flash 的記憶裝置,只是介面不同,為9 pin介面。sd卡家族有三個兄弟,他們除了外表尺寸不同外,實質上完全一樣。普通sd卡標準為24mm 32mm 2.1mm,...