• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ARM入門

    發布: 2008-8-04 10:57 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 108次 | 進入軟件測試論壇討論

    領測軟件測試網 1 ARM 的啟動

      一般的嵌入式系統在主程序執行之前都需要執行一些初始化的過程以創造嵌入式程序運行的環境,尤其是一些高級的嵌入式系統,由于核心芯片使用內存映射、內存保護等機制以及編程使用高級語言 C,C++ 甚至 JAVA 語言,都需要先創建一個適合程序運行的硬件環境,然后初始化或者配置或者剪裁 run-time library, 這些工作都必須在主程序運行前完成,所以一個 startup 程序或者程序組對于一個嵌入式系統來說是非常重要的。要編寫 startup 程序,需要對編譯器、鏈接器和匯編器的細節有一定的了解,同時對 ARM 芯片硬件本身的地址分配以及 memory mapping 機制也需要有一些了解。

      2 ARM 程序的工作過程

      首先由各種 source file 經過編譯產生 object 文件,然后 object 文件經過鏈接生成 Image 文件,然后通過 ICE 的方法,根據描述文件的指定下載到目標板上的固態存儲器指定地址當中,比如 flash , EEPROM, ROM 等等。在程序執行之前,根據某些描述文件,將需要讀寫數據的部分讀出放入動態存儲器比如 RAM 當中,然后程序從 ROM 開始執行;蛘哂袝r為了提高程序的運行速度,也可以將所有的程序 ( 有一些 root 的部分除外,以后會提及 ) 通過一個描述文件放入指定的 RAM 當中,然后程序從 RAM 開始執行,但是這樣會耗費大量的動態存儲器,所以大部分程序會取折中的方法,將需要快速運行的部分和要讀寫的部分放入 RAM 中 ( 一般讀固態存儲器的過程和動態存儲器的過程是一樣的,但是寫就不同了,所以讀寫的部分一定要放到 RAM 中 ) ,而只讀的部分和對速度要求不是那么高的部分放入固態存儲器。同時 ARM 結構的異常向量表規定放在地址為 0x00000000 開始的地址空間上,而一般的 CPU 為了提高異常相應速度,會將這個向量段 remap 到其他的 RAM 當中,所以在描述文件當中必須精確指定異常向量跳轉程序的地址到 remap 的地方。在 application 程序執行前,還需要由一些文件描述 application 程序執行的環境。比如系統工作時鐘,總線頻率,F在一般嵌入式編程語言為 C,C++ 等。如果在使用它們的時候使用的 runtime-library ,那么在程序執行前還需要為這些庫函數初始化 heap 。然后 ARM 可能工作在不同的模式,還需要為不同的工作模式設置 stack 。這樣,描述鏈接地址的文件,以及在 application 運行前所有的初始化程序就是 startup 程序組

      3 STARTUP 分類

      這樣,將 startup 程序所完成的功能分類。一類是鏈接地址描述,一類是各種初始化的程序。根據不同的應用,描述文件和初始化程序的內容以及結構和復雜程度都會不同。但是基本上,它們都必須實現以下功能。

      3.1 描述文件實現功能
      描述文件可以是鏈接命令行上簡單的幾個字符,也可以是一個非常復雜的文件,但是它必須完成如下功能:
      ; 指定程序下載的地址
      ; 指定程序執行的地址

      3.2 初始化程序實現的功能
      初始化程序根據不同的應用,其結構和復雜度也不同,但是它必須完成如下基本功能:
      ; 異常向量初始化
      ; 內存環境初始化
      ; 其他硬件環境初始化

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: arm ARM java JAVA Java 內存 入門 芯片


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>