MCU基本開發(fā)流程
MCU系統(tǒng)設(shè)計是使用一組物理硬件和軟件來完成所需功能的過程。系統(tǒng)是指任何由硬件、軟件或者兩者結(jié)合來構(gòu)成的功能設(shè)備,MCU設(shè)計方法常用的是軟硬件協(xié)同設(shè)計,是指在超低功耗MCU產(chǎn)品的設(shè)計過程中,軟件設(shè)計和硬件設(shè)計是緊密結(jié)合、相互協(xié)調(diào)的,這種方法的特點是,在設(shè)計時從系統(tǒng)功能的實現(xiàn)考慮,把實現(xiàn)時的軟硬件同時考慮進(jìn)去,既可以最大限度地利用有效資源,縮短開發(fā)周期,又能取得更好的設(shè)計效果,軟硬件協(xié)同設(shè)計過程如圖6.1所示。
從圖6.1可以看出,設(shè)計過程是一個不斷迭代的過程。整個設(shè)計流程就是為了達(dá)到系統(tǒng)的功能、技術(shù)參數(shù)和環(huán)境條件要求。在設(shè)計過程中首先要對系統(tǒng)進(jìn)行需求分析,進(jìn)而得出系統(tǒng)要達(dá)到的性能要求。接著對系統(tǒng)進(jìn)行軟硬件劃分,提出軟硬件設(shè)計方案,然后根據(jù)得出的軟硬件設(shè)計方案進(jìn)行軟件實現(xiàn)、硬件實現(xiàn)和軟硬件接口綜合。最后進(jìn)行系統(tǒng)測試,若測試結(jié)果符合要求即設(shè)計完成,若不符合要求則重新進(jìn)行設(shè)計。
1.系統(tǒng)定義與需求分析
需求分析應(yīng)確定目標(biāo)系統(tǒng)要具備哪些功能(即必須完成什么),需求分析就是要求密切配合用戶,經(jīng)過充分的交流和考察,得出經(jīng)過用戶確定的、明確的系統(tǒng)實現(xiàn)邏輯模型,以便使設(shè)計開發(fā)人員能確定最終的設(shè)計目標(biāo)。由此確定的系統(tǒng)邏輯模型是以后設(shè)計和實現(xiàn)的目標(biāo)系統(tǒng)基礎(chǔ),必須能夠準(zhǔn)確、完整地體現(xiàn)出用戶的要求。
2.系統(tǒng)設(shè)計方案的初步確立
包括系統(tǒng)設(shè)計的初步說明文檔、設(shè)計方案和設(shè)計描述文檔,具體包括以下文檔: 系統(tǒng)總體設(shè)計系統(tǒng)功能劃分與軟硬件協(xié)同設(shè)計、處理器選擇與基本接口器件選擇、操作系統(tǒng)選擇和開發(fā)環(huán)境選擇。這些文檔的確立是為了描述每一種可能的系統(tǒng)組成,估計每一種方案的成本和效益,選擇一個較好的系統(tǒng)方案,并且制定出該系統(tǒng)的詳細(xì)計劃。
3.初步設(shè)計方案性價比評估與方案評審論證
在系統(tǒng)開始軟硬件具體設(shè)計之前,需要最后確定設(shè)計方案與用戶需求之間的合理性,并對設(shè)計方案的正確性、安全性等多方面進(jìn)行綜合評估,以確定是否進(jìn)入下一步實際實施階段。
4.完善初步方案、初步方案實施
這是整個設(shè)計過程的最基本的環(huán)節(jié),它決定了以后軟硬件設(shè)計的方向與各自完成的目標(biāo),劃分的結(jié)果對工作量和系統(tǒng)的性能、成本有著較大的影響。
5.軟硬件集成測試
將測試完成的軟件系統(tǒng)裝入制作好的硬件系統(tǒng)中,進(jìn)行系統(tǒng)的綜合測試,驗證系統(tǒng)功能是否能被正確無誤地實現(xiàn)。
6.系統(tǒng)功能性能測試及可靠性測試
測試最終完成的系統(tǒng)性能是否滿足設(shè)計任務(wù)書的各項性能指標(biāo)和要求。
6.2 MCU軟件開發(fā)環(huán)境介紹
根據(jù)功能不同,低功耗MCU應(yīng)用軟件的開發(fā)工具分別有: 編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、嵌入式實時操作系統(tǒng)、函數(shù)庫、評估板、JTAG仿真器和在線仿真器等。當(dāng)用戶選用ARM處理器開發(fā)敏入式系統(tǒng)時,選擇合適的開發(fā)工具可以加快開發(fā)的速度,節(jié)省開發(fā)成本。因此,一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫的集成開發(fā)環(huán)境(IDE)一般來說是必不可少的,至于嵌入式實時操作系統(tǒng)和評估板等其它開發(fā)工具,則可以根據(jù)應(yīng)用軟件規(guī)模和開發(fā)計劃來選田。
使用集成開發(fā)環(huán)境開發(fā)應(yīng)用軟件,包括編輯、編譯、匯編、鏈接等工作全部都在PC機(jī)上即可完成,調(diào)試工作需要配合其他模塊或產(chǎn)品才能完成。目前常用的開發(fā)工具有ARM SDT、ARM ADSRealView MDK、Keil uvision、IAR EWARM、Green Hills MULTl、 Hitools for ARM、Embest IDEfor ARM等集成開發(fā)環(huán)境。下面將對RealView MDK、IAR EWARM、ARM ADS做詳細(xì)的介紹,對KeiluVision、Green Hills MULTI做簡單介紹。
6.2.1 RealView MDK開發(fā)環(huán)境介紹
ARM開發(fā)的集成開發(fā)環(huán)境RealView Microcontroller Development Kit(簡稱為RealView MDK或者M(jìn)DK)將ARM開發(fā)工具RealView Development Suite(簡稱為RVDS)的編譯器RVCT與Keil的工程管理、調(diào)試仿真工具集成在一起。
RealView MDK開發(fā)工具源自德國Keil公司,被全球超過10萬的嵌入式開發(fā)工程師驗證和使用,它是ARM公司目前最新推出的針對各種嵌入式處理器的軟件開發(fā)工具(2006年ARM公司并購了Keil公司),RealView MDK集成了業(yè)內(nèi)最領(lǐng)先的技術(shù),包括uVision3集成開發(fā)環(huán)境與RealView編譯器支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。
由Keil開發(fā)的MDK盡管是針對16位和32位處理器的,但所使用的仍是中國工程師非常熟悉的開發(fā)環(huán)境。這樣當(dāng)面對有更高性能需求的16位和32位MCU芯片開發(fā)時,中國開發(fā)人員可以利用原有開發(fā)經(jīng)驗輕松實現(xiàn)過渡。
ARM MDK大大提高了工程師開發(fā)的速度和質(zhì)量?;赗ealView編譯器,代碼更小,性能更高。MDK可以自動生成完善的啟動代碼,無論對于初學(xué)者還是有經(jīng)驗的開發(fā)工程師,都能大大節(jié)省時間提高開發(fā)效率。MDK設(shè)備模擬器可以仿真整個目標(biāo)硬件,開發(fā)工程師在無硬件的情況下即可開始軟件開發(fā)和調(diào)試,使軟硬件開發(fā)同步進(jìn)行,大大縮短開發(fā)周期。MDK能夠輔助查看代碼覆蓋情況,程序運行時間,函數(shù)調(diào)用次數(shù)等高端控制功能。這些優(yōu)勢使得中國工程師能夠?qū)⒏嗟臅r間和精力投入到創(chuàng)新中去。
下面我們結(jié)合LPC1700開發(fā)板來詳細(xì)介紹RealView MDK硬件調(diào)試與代碼固化知識。該開發(fā)板采用最新Cortex-M3內(nèi)核,主芯片是LPC1766/LPC1758,主頻達(dá)100MHZ,具有512K字節(jié)的閃存和64K字節(jié)的SRAM,采用2.4'TFT-LCD顯示,接口有USB Host/Device/0TG、雙CAN、RS232串口、10M/100M Ethernet等。