嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

系統

嵌入式是什麼呢?

嵌入式開發就是指在嵌入式操作系統下進行開發,常用的嵌入式操作系統有FreeRtos,ucos,linux,android等。與單片機開發最大的不同就是裸跑與跑系統的區別。嵌入式系統的物理結構關係是從屬的關係,嵌入式系統在控制邏輯關係上卻是起主導的關係,嵌入式系統被嵌入安裝在目標應用系統內,是控制目標應用系統運行的邏輯處理系統。嵌入式系統儘管可以用不同的方式構建,一旦構建完成之後,嵌入式系統就是一個專用系統。在專用系統中,可編程器件的軟件可以在系統構建過程中植入,也可以在器件製造過程中直接生成,以降低製造成本。控制邏輯複雜的單片機會需要操作系統軟件支持;控制邏輯簡單的嵌入式系統也可以不用操作系統軟件支持。嵌入式系統是當前最熱門最有發展前途的IT應用之一,應用嵌入式系統的設備通常硬件資源有限、對成本很敏感、對實時響應要求高。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

STM32CudeMX

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 插件使用。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

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。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

選型

配置單片機I/O口,PA0,PA1,PA2為推輓輸出,PB0,PB1為下拉輸入。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

I/O口配置

配置FreeRtos系統。內核設置、內存管理設置、鉤子函數相關定義、運行時和任務統計信息收集、共同程序相關定義、軟件計時器定義、中斷嵌套行為配置。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

FreeRtos配置

添加FreeRtos任務,defaultTask、myTask02、myTask03、優先級配置、堆棧大小配置、入口函數配置、代碼生成選項、等任務參數配置。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

添加任務

設置完成就可以生成代碼了,設置工具鏈/IDE--MDK-ARM V5、路徑、高級設置選擇使用HAL庫或是LL庫、配置時鐘等參數。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

生成代碼

打開Keil uVision5--MDK-ARM V5工程,這是一個能用的,完整的工程文件。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

打開工程

工程目錄有 ARM-MDK應用程序、用戶程序、HAL庫驅動、外設驅動、FreeRtos中間文件。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

工程目錄

可以看見已經創建好了3個任務,defaultTask、myTask02、myTask03。以及配置好了任務參數。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

創建任務

可以看見已經完成了I/O口的初始化配置。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

I/O口初始化

我們只要在任務中添加任務代碼即可!方便至極。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

添加任務代碼

完成之後,就可以編譯生成執行文件.hex

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

添加任務代碼

打開Proteus仿真軟件,選擇要用到的器件BUTTON、Resistors、LED-GREENSTM32F103C6,搭建電路。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

stm32器件選擇

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

搭建電路

導入單片機執行文件仿真。

嵌入式入門-從STM32CudeMX、FreeRtos、Proteu仿真開始

仿真

好了,完成了,恭喜你已成功入門了嵌入式開發。

結語:

嵌入式不是純軟件技術,也不是純硬件技術,是一個特定的硬件環境上開發與構建特定的可編程軟件系統的綜合技術,是在嵌入式系統的發展中應運而生的,是依附於嵌入式系統,並推動嵌入式系統不斷向前發展的核心動力。嵌入式是一種專用的計算機系統,作為裝置或設備的一部分,是一個控制程序存儲在ROM中的嵌入式處理器控制板,所有帶有數字接口的設備都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是單個程序實現整個控制邏輯。

(後續開發如遇到問題歡迎留言討論哦.................)


分享到:


相關文章: