目录
目的:以uc/OS-III为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS! 欢迎来到RTOS多任务环境!”。记录详细的移植过程。
一、移植过程
1. uCOS|||下载
下载地址:
Micrium 公司官网下载中心:Micrium Software and Documentation - Silicon Labs
或者网盘下载: https://pan.baidu.com/s/1jCoc2sfiij78J0Q-C6ChmA 提取码:1111
2.开始移植
2.1项目文件整理
- 把下载的源文件解压后,在新建两个空文件夹备用,文件名如下
- 在uC-BSP文件中新建两个文件,如下
- 将这个文件夹的东西复制到uC-CONFIG,如图
2.2创建基础stm32框架
- 打开stm32cubemx,选择stm32f103c8芯片,设置gpio管脚PB0,PB1来观察两个task任务下的led闪烁,并且设置串口usart1,中断不用开启。同时要设置sys,rcc。这些设置可以参考我之前的博客(设置好后如图)
- 编译后用keil5打开工程
2.3导入文件和增加头函数路径
将上上一步准备的文件复制到生成的工程中
2.4增加item
- 添加6个文件,分别命名如图
- 把刚刚创建的bsp.c和bsp.h文件添加到BSP目录中
2.5加入文件编译路径
给刚刚创建的6个空目录导入文件
- CONGFIG中
- SOURCE中
- PORT中
- CPU中
- LIB中
- 添加编译文件
二、代码文件修改
2.1 修改startup文件
PendSV_Handler 改为 OS_CPU_PendSVHandler
SysTick_Handler 改为 OS_CPU_SysTickHandler