S3C6410啟動模式介紹

來源:互聯網
上載者:User

S3C6410啟動模式介紹

http://blog.csdn.net/nanjianhui/archive/2009/06/01/4230565.aspx

目前的ARM處理器都支援多種啟動模式,S3C6410和以前的Samsung的ARM處理器一樣,通過外部管腳OM[4:0]的拉高拉低來決定是從哪個存放裝置上啟動。我認為S3C6410的User Manual並沒有說的很清楚,所以我在最開始使用的時候,也對其啟動模式有一些誤解,下面就我個人的理解,介紹一下S3C6410的啟動。

 

先讀一下S3C6410 User Manual的第3章 System Controller,在123頁列了一張表,

 

 

  

這章表列出了S3C6410所支援的幾種啟動模式。首先介紹一下和啟動模式相關的硬體管腳:

OM[4:0]選擇啟動裝置及時鐘源。OM[0]為0選擇XXTlpll,為1選擇XEXTCLK。

                GPN[15:13]用於識別所支援的Nandflash的類型,包括Page的類型和地址周期。

                XSELNAND選擇Nand啟動或者是OneNand啟動。0為OneNand,1為Nand。

 

從表中可以看出,S3C6410好像並不支援Nandflash啟動,因為Boot Device中沒有Nandflash裝置。當OM[4:0]為0000x/0001x/0010x/0011x的時候,Boot Device是Reserved,我想這裡是Samsung在6410中有意要隱瞞什麼。如果你用過S3C6400,你應該知道在S3C6400 User Manual中也有這麼一張表,描述了s3c6400的啟動模式,具體S3C6400的啟動模式也是在第3章 System Controller,在第107頁的表,

 

 

我想和S3C6410的表對照一下就會發現,兩個處理器的啟動模式是相容的,我認為S3C6410應該相容S3C6400的啟動模式,只不過Samsung在S3C6410 User Manual中隱藏了S3C6400中所支援Nandflash啟動模式,目的可能是Samsung不希望在S3C6410中使用Nandflash啟動,而要推崇IROM的啟動模式。個人理解啊!

 

下面來總結一下S3C6410所支援的啟動模式:

1. NORFlash啟動

通過Nor Flash啟動,此時OM[4:1]為0100或0101,對應8bit和16bit。

 

2. NandFlash啟動

雖然在S3C6410 User Manual中沒有提到,但是也是支援的,從S3C6400 User Manual可以找到。OM[4:1]四個硬體管腳決定了Nandflash啟動,以及支援的Nandflash的類型,包括大Page和小Page,地址周期為3,4,5。當然,XSELNAND管腳也要為1。

 

3. OneNAND啟動

首先XSELNAND管腳為0,其次OM[4:1]為0110,為OneNand啟動模式。

 

4. MODEM啟動

當OM[4:1]為0111的時候,為MODEM啟動。S3C6410通過MODEM介面下載boot代碼到內部RAM中,然後進行引導。

 

5. IROM啟動

當OM[4:1]為1111的時候,從Internal ROM中啟動,此時GPN[15:13]用於識別裝置的類型。這種模式以前沒見過,這裡具體介紹一下。

IROM模式可以支援MoviNand,SD/MMC,iNand,OneNand和Nand等。關於IROM的引導,具體過程

 

 

 

1. 處理器上電後,當OM[4:1]=1111時,運行iROM中的程式,這個程式被稱為Bootloader0(BL0),它會做一些初始化的工作。

2. 然後根據GPN[15:13]的管腳設定,選擇從相應的裝置(SD/MMC/OneNand/Nand)中的指定地區讀取4KB的程式到SteppingStone中運行,這段代碼被稱為Bootloader1(BL1)。

3. BL1可以初始化系統時鐘,UART,SDRAM等裝置,然後拷貝Bootloader2(BL2)到SDRAM中。

4. 跳轉到SDRAM中的BL2,繼續運行,BL2可以支援更強大的功能,可以將OS載入到SDRAM中,然後運行OS。

 

整個過程中,IROM是最先被啟動並執行,它會首先做一些初始化,具體IROM的流程如下:

1. 禁用Watch-dog

2. 初始化TCM

3. 初始化裝置拷貝函數,用於拷貝BL1到SteppingStone中

4. 初始化棧地區

5. 初始化PLL

6. 初始化指令Cache

7. 初始化堆地區

8. 拷貝BL1到SteppingStone中

9. 驗證BL1

10. 跳轉到SteppingStone中運行

 

還是看一下流程圖吧,理解起來會更直觀一些,IROM啟動流程

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.