uCOS-III源代码移植——基于Keil uVision5集成开发环境

本文详细记录了将uCOS-III实时操作系统移植到Keil uVision5环境下,针对STM32F103ZET处理器的过程。从移植前的准备工作,如获取源码、工程模板的选择,到逐步添加内核源码、修改接口文件,直至成功运行LED闪烁示例。移植关键包括配置文件的管理、系统滴答定时器中断和PendSV异常服务函数的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习uCOS-III也有段时间了,自己也移植了两遍,为了方便自己查阅,今天将移植的整个过程形成文章。

  第一步:移植前的准备

      移植工作之前需要准备的东西如下:

          uCOS-III源代码版本:3.03.01

          Keil uVision5软件版本:V5.14

          使用学习板处理器:STM32F103ZET

     首先需要准备Keil5工程模板,这里使用的是V3.5的标准外设库,因为工作后就没怎么使用过STM32,所以最新的开发环境STM32CubeMX及HAL库均不知为何物;Keil5工程模板参照安富莱的工程模板,因为硬汉做的工程实在是太工整了。 uCOS-III的源代码可以从Micrium官网上下载,下面是基于STM32F107评估板的内核源代码工程结构:

下载到的不是单独的内核源码,uCOS-III的开发人员已经将不同版本的源码移植到了不同处理器的评估板上,这样我们移植起来非常方便,增加开发效率。红色三角标注的为后续移植所使用的文件。

第二步:向Keil5工程模板中添加内核源码文件

   将操作系统源码文件放在工程模板下,并添加到Keil5工程中,如下图所示

  注意:8个配置文件放在了User文件夹下。

   将操作系统源码文件添加到工程后,设置好对应的头文件路径,保证编译无错误。bsp.c文件中有任务率测量初始化函数CPU_TS_TmrInit (void)和任务率测量函数 CPU_TS_TmrRd (void),需要将这两个函数移走,使板级支持包和操作系统内核源码分离开,方便以后统一将写的板级支持包文件放在BSP文件夹下,方便管理。参照官方给出的STM32F4的工程模板,将这两个函数放在了cpu_bsp.c文件中。此时还差一个主函数,main函数如下

/*
******************************************************************************
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值