新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STR71xF嵌入式系統設計和實踐

        STR71xF嵌入式系統設計和實踐

        作者: 時間:2012-03-29 來源:網絡 收藏

        復位芯片采用 IMP809S,主時鐘為16MHz,ADC接口電路可外接模擬信號或用板上模擬電壓。

        3.2 軟件

        3.2.1 BootLoader

        簡單地說,BootLoader 就是在操作內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。通常,Boot Loader 是嚴重地依賴于硬件而實現的,特別是在世界。因此,在世界里建立一個通用的 Boot Loader 幾乎是不可能的。另外,由于 Boot Loader 的實現依賴于 CPU 的體系結構,因此大多數 Boot Loader 都分為 stage1 和 stage2 兩大部分。依賴于 CPU 體系結構的代碼,比如設備初始化代碼等,通常都放在 stage1 中,而且通常都用匯編語言來實現,以達到短小精悍的目的。而 stage2 則通常用C語言來實現,這樣可以實現給復雜的功能,而且代碼會具有更好的可讀性和可移植性。

        Boot Loader 的 stage1 通常包括以下步驟(以執行的先后順序):

        硬件設備初始化。

        為加載 Boot Loader 的 stage2 準備 RAM 空間。

        拷貝 Boot Loader 的 stage2 到 RAM 空間中。

        設置好堆棧。

        跳轉到 stage2 的 C 入口點。

        Boot Loader 的 stage2 通常包括以下步驟(以執行的先后順序):

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

        檢測系統內存映射(memory map)。

        將 kernel 映像和根文件系統映像從 flash 上讀到 RAM 空間中。

        為內核設置啟動參數。

        調用內核。

        3.2.2 應用程序

        本實例主要用FIQ來設計一個時鐘,實現一小時計時,由于需要4個7段數碼管,考慮到I/O口的數量,所以采用動態顯示方式。要點是要掌握ARM7TDMI的快速中斷原理和定時器原理,能正確地分配時鐘。程序流程圖如圖8 所示。

        43.jpg
        圖8 時鐘程序流程框圖

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 康平县| 拉萨市| 翁牛特旗| 句容市| 武胜县| 北辰区| 临安市| 临城县| 射阳县| 桦川县| 塔城市| 乐至县| 龙泉市| 赞皇县| 册亨县| 鄂伦春自治旗| 林西县| 大新县| 和龙市| 威信县| 清流县| 清远市| 伊吾县| 正镶白旗| 新晃| 奎屯市| 长海县| 建瓯市| 尉氏县| 怀集县| 余庆县| 宜州市| 惠水县| 新龙县| 思茅市| 巨野县| 漳浦县| 收藏| 习水县| 响水县| 吐鲁番市|