STM32F407+CubeMX+Keil上移植RTX5实时系统
文章目錄
- 一、前言
- 二、CubeMX
- 2.1、RCC 與 Clock Configuration
- 2.2、SYS
- 2.3、GPIO
- 2.4、Project Manager
- 三、Keil
- 3.1、Target
- 3.2、Output
- 3.3、C/C++(AC6)
- 3.4、Debug
- 3.5、模板代碼(main.c)
- 3.6、開始移植RTX5
- 3.6、隔離Device上的文件
- 四、代碼
- 4.1、main.h
- 4.2、main.c
- 五、DEBUG
- 5.1、RTX RTOS
- 六、細節(jié)補充
- 6.1、移植Event Recorder調(diào)試工具
一、前言
STM32F407主頻高,Cortex-M4的系統(tǒng)架構(gòu)較為簡單(相比Cortex-M7),使用STM32F407做項目的同學肯定比較多。本博文介紹如何在STM32F407上完成RTX5的移植。STM32F103與STM32F407的移植步驟是一樣的,STM32H743就稍微有一點不一樣(中途會彈出STM32CubeMX)。
我使用的Keil版本:
一定要使用最新的CMSIS軟件包。下載地址:https://www.keil.com/dd2/pack/
STM32工程:
鏈接:https://pan.baidu.com/s/1R-zVwt8iqEJFSWCiUGgOsA
提取碼:eslp
二、CubeMX
2.1、RCC 與 Clock Configuration
2.2、SYS
2.3、GPIO
2.4、Project Manager
生成代碼。
三、Keil
3.1、Target
- ARM Compiler選擇V5與V6.14都可以,因為V5都快要淘汰了,所以選擇V6.14。
- Use MicroLIB一定要勾選。
- IRAM1與IRAM2默認勾選即可。
3.2、Output
3.3、C/C++(AC6)
3.4、Debug
按照自己的情況,配置Debuger。
接著,編譯一下工程。
3.5、模板代碼(main.c)
移植RT5之前,先準備能正常閃爍LED的工程。
編譯,燒寫代碼。觀察LED燈是否在閃爍。
3.6、開始移植RTX5
點擊OK后,返回Keil的工程文件夾。可以看到,多了一個CMSIS的圖標,里面全是RTX5的源碼。
3.6、隔離Device上的文件
完成隔離步驟后,點擊編譯代碼。發(fā)現(xiàn)有三個錯誤信息,表示以下函數(shù)被重復(fù)定義:
在文件stm32f4xx_it.c里備注掉剛才說重復(fù)定義的三個函數(shù)。值得注意的是,這三個函數(shù)在每一次使用STM32CubeMX生成工程代碼后,都要重新一次備注。
編譯代碼。
四、代碼
4.1、main.h
4.2、main.c
編譯,燒寫代碼。
五、DEBUG
5.1、RTX RTOS
先進入DEBUG模式,接著打開View → Watch Windows → RTX RTOS,打開RTX RTOS調(diào)試窗口。
在RTX RTOS窗口可以看到,剛才創(chuàng)建的Start線程與LED線程的信息。
等待約10S后,Start線程退出了。
RTX5在STM32F407VET6上移植成功!
六、細節(jié)補充
6.1、移植Event Recorder調(diào)試工具
編譯,燒寫代碼后,就可以使用Keil的分析窗口(Analysis Windows)中的System Analyzer,Event Recorder,Event Statistics去調(diào)試程序了。
總結(jié)
以上是生活随笔為你收集整理的STM32F407+CubeMX+Keil上移植RTX5实时系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RTX5 | 线程标志组02 - 获取线
- 下一篇: STM32H743+CubeMX-串口重