DBAu1200 Development Board Boot Flash 地址釋疑

來源:互聯網
上載者:User
//========================================================================
//TITLE:
//    DBAu1200 Development Board Boot Flash 地址釋疑
//AUTHOR:
//    norains
//DATE:
//    Wednesday  16-April-2008
//Environment:
//    PB 5.0 + DB1200 BSP
//========================================================================
    看過我這篇《小議DBAU1200 Development Board的Boot Flash》的朋友,可能對BOOT FLASH的地址還有所疑惑。該文說道,BOOT FLASH的地址(含PARAMETER FLASH)的地址為0x1C000000~0x1FFFFFFF,那麼這個地址是如何定義的呢?
   
    這個地址可以在“$Platform/Db1200/Inc/db1200.h”中找到:
   
    // FLASH on RCE0
    //
    #define FLASH_BASE                 0x1C000000
    #define FLASH_SIZE                 0x04000000
    #define BOOT_VECTOR_OFFSET         0x1fc00000 - FLASH_BASE
   
    Base地址為0x1C000000,Flash的大小為0x04000000,兩者相加等於0x1FFFFFFF,恰好為flash的TOP地址。
   
    雖然我們知道定義是在該檔案,但對於為何定義為此地址,現在我們還是不明了。所以,我們要查看AU1200的文檔,發現對於物理地址有如下列表():
    
    我們很明確可以看出,0x0 18000000 ~ 0x0 1FFFFFFF為定義的專門用來作為BOOT ROM的地址。而解釋中明確指出,BOOT ROM的地址一定要包含boot vector,也就是說要包含0x1fc00000。因此,對於DBAU1200 Development Board來說,BASE地址的確定是採用如下方式:0x1FFFFFFF - 0x04000000 + 1 = 0x1C000000。因為以0為起始,所以其後需要再加1。
   
    對於DBAU1200 Development Board BOOT FLASH的地址取值已經很明白了,現在另一個疑惑又來了:仔細查看該列表,會發現 0x0 20000000 ~ 0x0 7FFFFFFF段也可以作為memory mapped,為何文檔中要將其與0x0 18000000 ~ 0x0 1FFFFFFF這段分開呢?其實問題很簡單,不過這又要涉及到MIPS處理器的機構。我們知道,MIPS處理器的KSEG0和KSEG1所能映射的物理位址範圍為512M,而這個範圍基數則剛好是:0x 00000000 ~ 0x0 1FFFFFFF,而這正好落在文檔中介紹的BOOT FLASH範圍。換句話說,通過KSEG0和KSEG1所能訪問的物理地址只處於0x 00000000 ~ 0x0 1FFFFFFF範圍段,其餘只能通過MMU機制。細心的朋友可能已經猜到,如果我們的BOOT FLASH大於128M,比如說為1G,那麼我們通過KSEG0或KSEG1隻能訪問到最前面的128M,至於剩下的容量則是無計可施。這也是為何文檔會將同樣都能做memory mapped的空間劃分為兩段的緣故。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.