今日学习嵌入式实时操作系统RTOS:UC/OS-III实时操作系统
本文只是个人学习笔记备忘用,附图、描述等 部分都是对网上资料的整合......
文章主要研究如何将UC/OS-III 移植到 STM32 F407VET6上,提供测试工程下载
(2024.5.21 文章未写完,测试有问题,以后再说)
(2024.5.22 系统移植失败,测试有问题,以后再说)
附言:网络上的资料真是参差不齐,整整浪费我一天时间......
目录
UCOS基础知识:
任务的五种状态:
任务五种状态转换图:
1、被创建的任务,初始状态均为就绪态
2、被删除的任务,会转为休眠态
3、仅就绪态和中断态可转变成运行态
4、其他状态的任务想运行,必须先转变成就绪
UCOS-III的三大列表:
UCOS-川主要有三大类列表用来跟踪任务状态:
就绪列表 准备运行的任务将放在就绪列表:OSRdyList[x],其中x代表任务优先级数值
Tick列表 正在等待延时超时或挂起的对象超时的任务,将放在OSTickList
挂起列表 当任务等待信号量、事件时,任务将放置在挂起列表PendList
UCOS-III系统配置文件说明:
以下就是我们接下来需要移植的 部分文件,他们的作用大致各自如下:
UC/OS-III移植(STM32F4):
本次尝试移植UC/OS-III 于立创梁山派天空星开发板上,芯片型号是STM32F407VET6
其中UC/OS-III 的源码可以在整体工程下载中的压缩包内找到
注意:这里的源码是被我阉割过的,削除了官方文件中不必要的文件与目录
其次就是网络上那些所谓提供UC/OS源码或者教程的,如果没有移植成功的工程供下载的案例,基本都是垃圾!浪费时间!不是缺少文件,就是解释不详细,缺步漏步!
本人也是在艰难的学习中掉进太多移植源码方面的坑里了.........
添加 UC/OS-III 源码部分:
在工程中新建几个分组:
uC-OS3/CPU
uC-OS3/LIB
uC-OS3/PORT
uC-OS3/SOURCE
uC-OS3/CONFIG
点击uC-OS3/CPU–>Add Files
UC-OSIII/CPU添加以下文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
点击uC-OS3/CPU–>Add Files
UCOSIII\bsp添加以下文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
点击uC-OS3/LIB–>Add Files
UCOSIII\uC-LIB添加以下所有文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
点击uC-OS3/PORT–>Add Files
UCOSIII\uCOS-III\Ports添加以下所有文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
点击uC-OS3/SOURCE–>Add Files
UCOSIII\uCOS-III\Source添加以下所有文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
uC-OS3/CONFIG添加文件:
UCOSIII\config添加以下所有文件,如果只查找到一个,请将文件类型(I)选为 ALL files(''.'')
最后别忘记在魔棒中添加各个文件路径:
补:补充添加一条bsp的路径,之前忘记添加了,导致报错......