|
ARM®系列微處理器作為全球16/32 位 RISC 處理器市場的領(lǐng)先者, 在許多領(lǐng)域內(nèi)得到了成功的應(yīng)用。近年來,ARM 在國內(nèi)的應(yīng)用也得到了飛速的發(fā)展,越來越多的公司和工程師在基于 ARM 的平臺上面開發(fā)自己的產(chǎn)品。
與傳統(tǒng)的 4/8位單片機相比,ARM 的性能和處理能力當(dāng)然是遙遙領(lǐng)先的,但與之相應(yīng),ARM 的系統(tǒng)設(shè)計復(fù)雜度和難度,較之傳統(tǒng)的設(shè)計方法也大大提升了。本文旨在通過討論系統(tǒng)程序設(shè)計中的幾個基本方面,來說明基于 ARM 的嵌入式系統(tǒng)程序開發(fā)的一些特點,并提出和解決了一些常見的問題。
文章分成幾個相對獨立的章節(jié)刊載。第一部分討論基于 ARM 的嵌入式程序開發(fā)和移植過程中的一些基本概念。
1.嵌入式程序開發(fā)過程
不同于通用計算機和工作站上的軟件開發(fā)工程,一個嵌入式程序的開發(fā)過程具有很多特點和不確定性。其中最重要的一點是軟件跟硬件的緊密耦合特性。
這是兩類簡化的嵌入式系統(tǒng)層次結(jié)構(gòu)圖。由于嵌入式系統(tǒng)的靈活性和多樣性,上面圖中各個層次之間缺乏統(tǒng)一的標(biāo)準(zhǔn),幾乎每一個獨立的系統(tǒng)都不一樣。這樣就給上層的軟件設(shè)計人員帶來了極大地困難。第一,在軟件設(shè)計過程中過多地考慮硬件,給開發(fā)和調(diào)試都帶來了很多不便;第二,如果所有的軟件工作都需要在硬件平臺就緒之后進行,自然就延長了整個的系統(tǒng)開發(fā)周期。這些都是應(yīng)該從方法上加以改進和避免的問題。
為了解決這個問題, 工程和設(shè)計人員提出了許多對策。 首先在應(yīng)用與驅(qū)動 (或API)這一層接口,可以設(shè)計成相對統(tǒng)一的一些接口函數(shù),這對于具體的某一個開發(fā)平臺或在某個公司內(nèi)部,是完全做得到的。這樣一來,就大大提高了應(yīng)用層軟件設(shè)計的標(biāo)準(zhǔn)化程度,方便了應(yīng)用程序在跨平臺之間的復(fù)用和移植。
對于驅(qū)動/硬件抽象這一層,因為直接驅(qū)動硬件,其標(biāo)準(zhǔn)化變得非常困難甚至不太可能。但是為了簡化程序的調(diào)試和縮短開發(fā)周期,我們可以在特定的 EDA工具環(huán)境下面進行開發(fā),通過后再進行移植到硬件平臺的工作。這樣既可以保證程序邏輯設(shè)計的正確性,同時使得軟件開發(fā)可平行甚至超前于硬件開發(fā)進程。
我們把脫離于硬件的嵌入式軟件開發(fā)階段稱之為“PC 軟件”的開發(fā),可以用下面的圖來示意一個嵌入式系統(tǒng)程序的開發(fā)過程。
在“PC 軟件”開發(fā)階段,可以用軟件仿真,即指令集模擬的方法,來對用戶程序進行驗證。在 ARM 公司的開發(fā)工具中,ADS®內(nèi)嵌的 ARMulator 和RealView® 開發(fā)工具中的 ISS,都提供了這項功能。在模擬環(huán)境下,用戶可以設(shè)置 ARM 處理器的型號、時鐘頻率等,同時還可以配置存儲器訪問接口的時序參數(shù)。程序在模擬環(huán)境下運行,不但能夠進行程序的運行流程和邏輯測試,還能夠統(tǒng)計系統(tǒng)運行的時鐘周期數(shù)、 存儲器訪問周期數(shù)、 處理器運行時的流水線狀態(tài) (有效周期、等待周期、連續(xù)和非連續(xù)訪問周期)等信息。這些寶貴的信息是在硬件調(diào)試階段都無法取得的,對于程序的性能評估非常有價值。
為了更加完整和真實地模擬一個目標(biāo)系統(tǒng),ARMulator 和 ISS 還提供了一個開放的 API 編程環(huán)境。用戶可以用標(biāo)準(zhǔn) C 來描述各種各樣的硬件模塊,連同工具提供的內(nèi)核模塊一起,組成一個完整的“軟”硬件環(huán)境。在這個環(huán)境下面開發(fā)的軟件,可以更大程度地接近最終的目標(biāo)。
利用這種先進的 EDA 工具環(huán)境,極大地方便了程序開發(fā)人員進行嵌入式開發(fā)的工作。當(dāng)完成一個“PC 軟件”的開發(fā)之后,只要進行正確的移植,一個真正的嵌入式軟件就開發(fā)成功了。 而移植過程是相對比較容易形成一套規(guī)范的流程的,其中三個最重要的方面是:
完整的pdf格式文檔51黑下載地址(共45頁):
基于ARM的嵌入式系統(tǒng)程序開發(fā)要點.zip
(484.74 KB, 下載次數(shù): 54)
2018-10-28 15:51 上傳
點擊文件名下載附件
閱讀權(quán)限: 20
|
|