基于stm32cubemx移植uC/OS-III操作系统及波形观察

本文介绍了如何在STM32单片机上移植uC/OS-III操作系统,详细阐述了从获取源码、建立文件夹、改写代码到keil5仿真的全过程,包括配置GPIO、串口通信以及任务调度,最终实现了LED闪烁和串口输出的任务,并通过keil5仿真观察到了预期的波形结果。
摘要由CSDN通过智能技术生成

目录

一、获取uC/OS-III源码

二、建立文件夹

2.1 新建文件夹

2.2 创建空文件

2.3 导入源码

​2.4 创建基础stm32框架

2.5 导入文件和增加头函数路径

2.6  打开keil,增加item​

​ 三、改写代码

3.1 修改startup文件

3.2 修改CONFIG/app_cfg.h

3.3 修改CONFIG/includes.h 

3.5 bsp.h

3.6 CONFIG/lib_cfg.h

3.7 usart.c

3.8 main.c

四、运行结果

五、keil5仿真

5.1 新建debug.ini文件

5.2 打开keil小魔法棒

5.3 进入调试界面

5.4 波形结果

六、总结


一、获取uC/OS-III源码

链接:https://pan.baidu.com/s/1_Wk-hbeQ7KrvnoA0GwJXdA 
提取码:qwer

二、建立文件夹

2.1 新建文件夹

新建两个文件夹uC-BSP和uC-CONFIG,后面会用到。

2.2 创建空文件

创建bsp.c和bsp.h文件

2.3 导入源码


2.4 创建基础stm32框架

设置gpio管脚PB0,PB1来观察两个task任务下的led闪烁,并且设置串口usart1,中断不用开启。同时要设置sys,rcc,以及clock72MHZ

 

关于详细的管脚设置请参考stm32cubemx下stm32中断与串口DMA通信_Laul Ken-Yi的博客-CSDN博客

2.5 导入文件和增加头函数路径

将刚刚创建的源码文件夹导入到刚刚创建的cubemx工程目录下

 

2.6  打开keil,增加item

添加六个groups

2.6.1 并在BSP,file下添加刚刚创建的空白文件bsp.c和bsp.h。 

2.6.2 在CONFIG下添加file,8个


2.6.3 在SOURCE添加file,20个


2.6.4 PORT下添加file,3个

2.6.5 CPU下添加file,6个
其中包括uC-CPU下的3个和realview下的3个

2.6.6 LIB下添加file,10个
 和2.6.6 CPU相似

 2.7 加入文件编译路径


 三、改写代码

3.1 修改startup文件

PendSV_Handler    ----->      OS_CPU_PendSVHandler

SysTick_Handler     ----->      OS_CPU_SysTickHandler

切记有两处修改

3.2 修改CONFIG/app_cfg.h

#define APP_CFG_SERIAL_EN    DEF_ENABLED ------#define APP_CFG_SERIAL_EN       DEF_DISABLED

#define APP_TRACE BSP_Ser_Printf -------#define APP_TRACE (void)

 

 

3.3 修改CONFIG/includes.h 

在#include<bsp.h>后加上
                    #include “gpio.h”
                    #include “app_cfg.h”

将#include <stm32f10x_lib.h> 改为 #include “stm32f1xx_hal.h”


3.4 修改BSP/bsp.c
// bsp.c

// bsp.c
#include "includes.h"
 
#define  DWT_CR      *(CPU_REG32 *)0xE0001000
#define  DWT_CYCCNT  *(CPU_REG32 *)0xE0001004
#define  DEM_CR      *(CPU_REG32 *)0xE000EDFC
#define  DBGMCU_CR   *(CPU_REG32 *)0xE0042004
 
#define  DEM_CR_TRCENA                   (1 << 24)
#define  DWT_CR_CYCCNTENA                (1 <<  0)
 
CPU_INT32U  BSP_CPU_ClkFre
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值