<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于ARM的2M測(cè)試系統(tǒng)

          基于ARM的2M測(cè)試系統(tǒng)

          作者:桑占良 談世哲 時(shí)間:2008-05-23 來(lái)源:微計(jì)算機(jī)信息 收藏

            3系統(tǒng)軟件設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/82975.htm

            軟件部分主要由啟動(dòng)代碼的設(shè)計(jì)和應(yīng)用程序的設(shè)計(jì),基于是復(fù)雜的片上系統(tǒng)(SOC),這種復(fù)雜系統(tǒng)里的多數(shù)硬件模塊都是可配置的,需要由軟件來(lái)設(shè)置其需要的工作狀態(tài)。因此在用戶(hù)的應(yīng)用程序啟動(dòng)之前,需要有專(zhuān)門(mén)的一段啟動(dòng)代碼來(lái)完成對(duì)系統(tǒng)的初始化。由于這類(lèi)代碼直接面對(duì)處理器內(nèi)核和硬件控制器進(jìn)行編程,一般都是用匯編語(yǔ)言寫(xiě)的。啟動(dòng)代碼就是完成各種初始化工作,并引導(dǎo)進(jìn)入C程序。

            3.1 bootloader設(shè)計(jì)

            啟動(dòng)代碼[5]的主要實(shí)現(xiàn)功能包括以下部分:

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

            (2)設(shè)置中斷向量表;

            (3)初始化存儲(chǔ)器系統(tǒng);

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

            (5)初始化目標(biāo)系統(tǒng)中要使用的各種片內(nèi)外設(shè);

            (6)初始化用戶(hù)程序執(zhí)行環(huán)境;

            (7)引導(dǎo)主應(yīng)用程

            具體實(shí)現(xiàn)的部分代碼如下:                       

            AERA Init, CODE,READONLY

            ENTRY             ;定義入口點(diǎn)

            B SYS_RST_HANDLER ;系統(tǒng)上電復(fù)位操作

            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        ;調(diào)整PLL和時(shí)鐘

            BL initmem        ;初始化存儲(chǔ)器

            BL initstack      ;設(shè)置堆棧

            …                   …

            …                   …

            …                   …                                             

            B main           ; 跳轉(zhuǎn)到主應(yīng)用程序        

            3.2應(yīng)用程序的設(shè)計(jì)

            應(yīng)用程序采用C語(yǔ)言編寫(xiě),由其實(shí)現(xiàn)本系統(tǒng)中所需的各種功能。根據(jù)系統(tǒng)功能需求,軟件劃分為以下模塊:液晶顯示模塊、設(shè)置模塊、指標(biāo)計(jì)算模塊等部分。軟件設(shè)計(jì)思想是利用S3C2410的中斷控制整個(gè)軟件的流程。共使用4個(gè)硬件中斷來(lái)完成系統(tǒng)的功能:一個(gè)內(nèi)部硬件定時(shí)中斷,3個(gè)外部硬件中斷(鍵盤(pán)中斷、串口中斷、E1中斷)。主程序流程圖如圖2所示。

                 



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();