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