ARM9 Bootloader的啓動流程

    Bootloader啓動大多數都分爲兩個階段.第一個階段主要包含依賴於CPU的體系結構硬件初始化的代碼,通常都用彙編語言來實現。這個階段的任務有:
    1、基本的硬件設備初始化(屏蔽所有的中斷、關閉處理器內部指令/數據cache等)。
    2、爲第二階段準備RAM空間。
    3、如果是從某個固態存儲煤質中,則複製Bootloader的第二階段代碼到RAM。
    4、設置堆棧。
    5、跳轉到第二階段的c程序入口點。
    特別注意的地方:

    在第一階段中爲什麼要關閉cache?通常使用cache以及寫緩衝是爲了提高系統性能。但由於cache的使用可能改變訪問主存的數量、類型和時間,因此Bootloader通常是不需要的。

第二階段通常用C語言完成,以便實現更復雜的功能,也使程序有更好的可讀性和可移植性,這個階段的任務有:

1、初始化本階段要使用到的硬件設備。

2、檢測系統內存映射。

3、將內核映像和根文件系統映像從Flash讀到RAM。

4、爲內核設置啓動參數。

5、調用內核。

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