新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于ARM的2M測試系統

        基于ARM的2M測試系統

        作者:桑占良 談世哲 時間:2008-05-23 來源:微計算機信息 收藏

          3系統軟件設計

        本文引用地址:http://www.104case.com/article/82975.htm

          軟件部分主要由啟動代碼的設計和應用程序的設計,基于是復雜的片上系統(SOC),這種復雜系統里的多數硬件模塊都是可配置的,需要由軟件來設置其需要的工作狀態。因此在用戶的應用程序啟動之前,需要有專門的一段啟動代碼來完成對系統的初始化。由于這類代碼直接面對處理器內核和硬件控制器進行編程,一般都是用匯編語言寫的。啟動代碼就是完成各種初始化工作,并引導進入C程序。

          3.1 bootloader設計

          啟動代碼[5]的主要實現功能包括以下部分:

          (1)設置程序入口指針;

          (2)設置中斷向量表;

          (3)初始化存儲器系統;

          (4)初始化CPU各種模式的堆棧和寄存器;

          (5)初始化目標系統中要使用的各種片內外設;

          (6)初始化用戶程序執行環境;

          (7)引導主應用程

          具體實現的部分代碼如下:                       

          AERA Init, CODE,READONLY

          ENTRY             ;定義入口點

          B SYS_RST_HANDLER ;系統上電復位操作

          B UDF_INS_HANDLER ;處理未定義中斷模式

          B SWI_SVC_HANDLER ;處理軟件中斷

          B INS_ABT_HANDLER

          B DAT_ABT_HANDLER ;處理中止異常

          B .

          B IRQ_SVC_HANDLER ;處理IRQ 中斷

          B FIQ_SVC_HANDLER ;處理FIQ中斷

          SYS_RST_HANDLER

          MSR R0, CPSR      ;禁止中斷

          ORR R0,R0,#0XC0

          MSR CPSR_C,R0

          BL initcpu        ;調整PLL和時鐘

          BL initmem        ;初始化存儲器

          BL initstack      ;設置堆棧

          …                   …

          …                   …

          …                   …                                             

          B main           ; 跳轉到主應用程序        

          3.2應用程序的設計

          應用程序采用C語言編寫,由其實現本系統中所需的各種功能。根據系統功能需求,軟件劃分為以下模塊:液晶顯示模塊、設置模塊、指標計算模塊等部分。軟件設計思想是利用S3C2410的中斷控制整個軟件的流程。共使用4個硬件中斷來完成系統的功能:一個內部硬件定時中斷,3個外部硬件中斷(鍵盤中斷、串口中斷、E1中斷)。主程序流程圖如圖2所示。

               



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兰溪市| 老河口市| 都匀市| 邢台市| 宝鸡市| 壤塘县| 杭锦后旗| 夏邑县| 陇川县| 西畴县| 北川| 房产| 怀宁县| 靖宇县| 东海县| 肥城市| 南京市| 明水县| 禄劝| 彭阳县| 祁阳县| 克什克腾旗| 新营市| 剑阁县| 长丰县| 洛浦县| 得荣县| 巨鹿县| 增城市| 苗栗市| 保康县| 来安县| 邵阳县| 娱乐| 确山县| 凤山县| 镇原县| 石楼县| 德安县| 怀远县| 东宁县|