基于IAR8.32版本的洋桃派M1开发板(STM32F103C8T6)的μC/OS-II移植过程(超级详细,用cubemx生成工程文件)

1、STM32F103C8T6使用cubemx生成IAR工程文件并点亮LED

1.1 新建工程

在这里插入图片描述

1.2 选择芯片型号

在这里插入图片描述

1.3 进行RCC设置,选择外部晶振

在这里插入图片描述

1.4 对GPIO进行设置,用来点亮PB0引脚的LED1

在这里插入图片描述

1.5 时钟树设置(用外部晶振8MHZ HSE)

在这里插入图片描述

1.6 生成项目工程设置

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.7 在main.c中编写程序,点亮LED1。

2、μC/OS II移植

2.1 下载官方源码或者我提供的(一定要是cortex-M3版本的)

链接:https://pan.baidu.com/s/1mp2nEOFT-9wQZMjplZQUOQ
提取码:1234
–来自百度网盘超级会员V6的分享

2.2 源码文件分析

μC/OS II源码的文件目录如下:
在这里插入图片描述
Examples文件下是官方提供的例程,Software文件下是μC/OS II源文件

Software目录下的文件分析
在这里插入图片描述
μC-CPU :这是和CPU紧密相关的文件,我们不需要使用。
μC-LIB:Micrium公司提供的官方库文件,如字符串操作,内存操作等函数接口,可用可不用。
μCOS-II:这是关键目录文件,我们接下来要详细分析的文件,跟移植、使用密切相关的。
μC-Serial:μC/OS II接口文件

Software ->μC/OS II ->Source下的文件内容
在这里插入图片描述
os.h: 头文件
os_core.c: 内核文件
os_flag.c: 标志性事件组
os_mbox.c: 消息邮箱
os_mem.c: 内存管理
os_mutex.c : 互斥信号量
os_q.c: 消息队列
os_sme.c: 信号量
os_task.c: 任务相关
os_time.c : 时间相关
os_tmr.c: 软件定时器
ucos_ii.h: 内部函数参数设置
在这里插入图片描述

在这里插入图片描述 os_cpu.h:定义数据类型、处理器相关代码、声明函数原型
oc_cpu_a.asm:与处理器相关的汇编代码,主要是与任务切换相关
os_cpu_c.c:定义用户钩子函数,提供扩充软件功能的的接口
os_dbg.c:内核调试相关数据和相关函数

2.3将μC/OS-II源文件中需要的文件复制到自己创建的工程目录中

在这里插入图片描述

cfg文件夹:
在这里插入图片描述

ports文件夹
在这里插入图片描述

source文件夹
在这里插入图片描述

2.4 在工程中,分组ucos下再创建三个分组:cfg、ports、source,分别将文件夹中相应的文件添加进去。然后进行环境配置:

在这里插入图片描述在这里插入图片描述

2.5 配置文件路径:C/C++ Compiler -> preprocessor

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 配置Linker: Linker -> Config ,勾选Override default

在这里插入图片描述

2.7 配置Debugger:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.8 进行移植后的代码系统配置

编译后会提示无法打开lib_def.h文件,该文件在software\uc-LIB中,工程中不需要该文件,将其注释。

在启动文件中,把所有PendSV_Handler替换为OS_CPU_PendSVHandler

​ 把所有SysTick_Handler替换成OS_CPU_SysTickHandler。

到这一步为止,μC/OS-II移植就完成了,很简单是不是,我一开始也是被吓到了,其实移植μC/OS-II根本不难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值