系統
嵌入式是什麼呢?
嵌入式開發就是指在嵌入式作業系統下進行開發,常用的嵌入式作業系統有FreeRtos,ucos,linux,android等。與微控制器開發最大的不同就是裸跑與跑系統的區別。嵌入式系統的物理結構關係是從屬的關係,嵌入式系統在控制邏輯關係上卻是起主導的關係,嵌入式系統被嵌入安裝在目標應用系統內,是控制目標應用系統執行的邏輯處理系統。嵌入式系統儘管可以用不同的方式構建,一旦構建完成之後,嵌入式系統就是一個專用系統。在專用系統中,可程式設計器件的軟體可以在系統構建過程中植入,也可以在器件製造過程中直接生成,以降低製造成本。控制邏輯複雜的微控制器會需要作業系統軟體支援;控制邏輯簡單的嵌入式系統也可以不用作業系統軟體支援。嵌入式系統是當前最熱門最有發展前途的IT應用之一,應用嵌入式系統的裝置通常硬體資源有限、對成本很敏感、對實時響應要求高。
STM32CubeMX是ST意法半導體的一個圖形化的工具,也是配置和初始化C程式碼生成器,也就是自動生成開發初期關於晶片相關的一些初始化程式碼。它可以減輕開發的時間和費用。STM32CubeMX集成了一個全面的軟體平臺,支援STM32每一個系列的MCU開發。這個平臺包括 STM32Cube HAL(一個 STM32 的抽象層整合軟體,確保STM32 系列最大的移植性)。再加上相容的一套中介軟體(RTOS、USB、TCP/IP 和圖形),所有內嵌軟體元件附帶了全套例程,STM32CubeMX的特性有:
1.直觀的選擇 STM32晶片,選型神器。
2.STM32晶片圖形化配置有:自動處理引腳衝突、動態設定確定的時鐘樹、可以動態確定引數設定的外圍和中介軟體模式和初始化、功耗預測等。
3.C程式碼工程生成器覆蓋了STM32 晶片初始化編譯軟體,如IAR、KEIL、GCC。
4.可獨立使用或作為 Eclipse 外掛使用。
Proteus8.8
Proteus軟體是英國Lab Center Electronics公司出版的EDA工具軟體,它具有EDA工具軟體的模擬功能,具有微控制器及外圍器件的模擬功能,是比較好的模擬微控制器及外圍器件的工具,早已受到微控制器愛好者、微控制器教師、微控制器開發應用的科技工作者的青睞。Proteus是著名的模擬軟體,可以從原理圖布的程式碼除錯到微控制器與外圍電路協同模擬,一鍵切換到PCB設計,實現真正的從概念到產品的完整設計。Proteus是世界上唯一將電路模擬軟體、PCB設計軟體和虛擬模型模擬軟體三合一的設計平臺,其處理器模型支援8051、HC11、PIC10~30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,Proteus8.0以後版本支援STM32晶片模擬,並持續增加其他系列處理器模型。在編譯方面,它也支援IAR、Keil等多種編譯器。
話不多說開始入門吧!開啟STM32CubeMX選擇微控制器型號,stm32f103cb。
選型
配置微控制器I/O口,PA0,PA1,PA2為推輓輸出,PB0,PB1為下拉輸入。
I/O口配置
配置FreeRtos系統。核心設定、記憶體管理設定、鉤子函式相關定義、執行時和任務統計資訊收集、共同程式相關定義、軟體計時器定義、中斷巢狀行為配置。
FreeRtos配置
新增FreeRtos任務,defaultTask、myTask02、myTask03、優先順序配置、堆疊大小配置、入口函式配置、程式碼生成選項、等任務引數配置。
新增任務
設定完成就可以生成程式碼了,設定工具鏈/IDE--MDK-ARM V5、路徑、高階設定選擇使用HAL庫或是LL庫、配置時鐘等引數。
生成程式碼
開啟Keil uVision5--MDK-ARM V5工程,這是一個能用的,完整的工程檔案。
開啟工程
工程目錄有 ARM-MDK應用程式、使用者程式、HAL庫驅動、外設驅動、FreeRtos中間檔案。
可以看見已經建立好了3個任務,defaultTask、myTask02、myTask03。以及配置好了任務引數。
建立任務
可以看見已經完成了I/O口的初始化配置。
I/O口初始化
我們只要在任務中新增任務程式碼即可!方便至極。
新增任務程式碼
完成之後,就可以編譯生成執行檔案.hex
新增任務程式碼
開啟Proteus模擬軟體,選擇要用到的器件BUTTON、Resistors、LED-GREENSTM32F103C6,搭建電路。
stm32器件選擇
搭建電路
匯入微控制器執行檔案模擬。
模擬
好了,完成了,恭喜你已成功入門了嵌入式開發。
結語:
嵌入式不是純軟體技術,也不是純硬體技術,是一個特定的硬體環境上開發與構建特定的可程式設計軟體系統的綜合技術,是在嵌入式系統的發展中應運而生的,是依附於嵌入式系統,並推動嵌入式系統不斷向前發展的核心動力。嵌入式是一種專用的計算機系統,作為裝置或裝置的一部分,是一個控制程式儲存在ROM中的嵌入式處理器控制板,所有帶有數字介面的裝置都使用嵌入式系統,有些嵌入式系統還包含作業系統,但大多數嵌入式系統都是單個程式實現整個控制邏輯。