首先,打开 Micrium 公司官方网站(http://micrium.com/),点击“Downloads”选项卡进入下载页面,在“Brouse by MCU Manufacturer”栏目展开“STMicroelectronics”,单击“Viewall STMicroelectronics”。

由于在“Projects”栏目中选择一个基于 Keil MDK 平台在 cortex-M3 内核 MCU 评估板上测试的µC/OS-Ⅲ源码,单击即可。

页面跳转后,点击“Download”按钮即可下载,下载前要登录该网站,未账户的注册后登录。

https://pan.baidu.com/s/1BEOTPg1BBHCncOJAmDYgrA   我自己上传到百度网盘的

选择一个STM32 开发板可用的裸机例程作为程序模板,这里准备了一个简单的“LED 流水灯”例程,

https://pan.baidu.com/s/1hRXh-OGDUXWy80k0MC8MOA

在该例程的“User”文件夹下建立下面几个文件夹

拷贝下图路径下µC/OS-Ⅲ源码文件到“APP”文件夹下。

拷贝下图路径下µC/OS-Ⅲ源码文件到“BSP”文件夹下

拷贝下图路径下µC/OS-Ⅲ源码文件到“uC-CPU”文件夹下。

拷贝下图路径下µC/OS-Ⅲ源码文件到“uC-LIB”文件夹下。

拷贝下图路径下µC/OS-Ⅲ源码文件到“uCOS-III”文件夹下。

将“User”文件夹下的“led”文件夹剪切到“BSP”文件夹里面,并且删除“main.c”文件。

打开工程,首先移除废弃的文件。

给工程增加下面的组件。

为“APP”组件添加“\User\APP”文件夹下的所有文件。

为“APP”组件添加“\User\BSP”文件夹下的所有文件和“\User\BSP\led”文件夹下的源文件。

为“uC/CPU”组件添加“\User\ uC-CPU”文件夹下的所有文件和“\User\ uC-CPU\ARM-Cortex-M3\ RealView”文件夹下的所有文件。

为“ uC/LIB”组件添加 “ \User\ uC-LIB ”文件夹下的所有文件和 “ \User\ uC-LIB\Ports\ARM-Cortex-M3\ RealView”文件夹下的所有文件。

为“uC/OS-III Source”组件添加“\User\ uCOS-III\ Source”文件夹下的所有文件。

为“uC/OS-III Port”组件添加“\User\uCOS-III\Ports\ARM-Cortex-M3\Generic\RealView”文件夹下的所有文件。

打开“Options for Target”窗口,给工程添加包含路径。

编译整个工程,有 1 个错误,这是由于工程没有使用µC/OS-Ⅲ源码中 STM32 的“stm32f10x_lib.h”总头文件,在这里使用裸机例程里已有的“stm32f10x.h”文件。

再 编 译 , 错 误 和 警 告 不 减 反 增 。 这 里 还 需 继 续 修 改 。 首 先 修 改 启 动 文 件“ startup_stm32f10x_hd.s ”, 将 PendSV_Handler 和 SysTick_Handler 分 别 改 为OS_CPU_PendSVHandler 和 OS_CPU_SysTickHandler,共两处。

cpu_cfg.h”的修改如下:
修改一:

修改二:

“bsp.h”和“bsp.c”文件使用的都是 uC/OS-III 源码的 STM32 板载驱动代码,这里要改成自己的裸机板载驱动代码。“bsp.h”的修改如下:
修改一:

  把uCOS自带的STM32板载驱动文件改为自己的STM32裸机板载驱动程序

  

修改二:

“bsp.c”的修改如下:
  修改一:

  修改二:

  修改三:

接下来修改应用文件“app_cfg.h”和“app.c”。“app_cfg.h”的修改如下:

“app.c”的修改如下:
  修改一:

  修改二:

  修改三:

编译工程,没有错误和警告,下载程序到秉火 STM32-ISO 开发板,可以观察到 LED1 每隔 5 秒切换一次亮灭状态,移植成功。

转载于:https://www.cnblogs.com/tianxxl/p/10365135.html

移植 uC/OS-III 到 STM32相关推荐

  1. STM32F103C8T6移植uc/OS

    STM32F103C8T6移植uc/OS STM32F103C8T6移植uc/OS STM32F103C8T6移植uc/OS 一.题目要求 二.使用STM32CubeMX建立HAL库 三.准备uCOS ...

  2. UC/OS III操作系统学习笔记

    UCOS操作系统学习笔记 1.UCOSIII任务 1.1任务管理 1.2 任务创建和删除.挂起和恢复 1.3 系统内部任务 2.UCOSIII中断和时间管理 2.1 中断管理 2.2 时间管理 3.U ...

  3. 基于STM32F103RC移植uc/OS系统

    目录 一.获取uc/OS-III源码 二.使用CubeMX创建基础stm32框架 三.文件准备 四.路径添加 五.代码修改 六.成功展示 七.使用Keil仿真逻辑仪观察引脚电平变化 八.参考资料 本文 ...

  4. uC/OS iii(三)任务管理之任务状态

    博客已转移至https://www.cnblogs.com/heart-flying/p/10148254.html

  5. STM32F103C8T6移植uC/OS-III基于HAL库超完整详细过程

    目录 一.题目要求 二.UCOSII简介 三.实验过程 1. CubeMX工程创建 2. UC/OS开源码获取 3. "移植"前期准备工作 4.移植过程 5. 构建工程任务 3. ...

  6. Lab 6:uC/OS II

    为什么80%的码农都做不了架构师?>>>    目标: 移植uC/OS II到RPi上,实现两个任务的调度.这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行 具体步骤: ...

  7. uC/OS和uClinux的比较

    摘    要: 嵌入式操作系统是嵌入式系统应用的核心.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结了嵌入式操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据. 引言     随着现代 ...

  8. UC/OS和UCLinux比较

    随着现代计算机技术的飞速发展和互联网技术的广泛应用,从pc时代过渡到了以个人数字助理.手持个人电脑和信息家电为代表的3c(计算机.通信.消费电子)一体的后pc时代.后pc时代里,嵌入式系统扮演了越来越 ...

  9. 嵌入式系统 操作系统 uC/OS uClinux

    摘要:嵌入式操作系统是嵌入式系统应用的核心软件.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据. 关键词:嵌入式系统 操作系统 u ...

  10. 基于STM32的uc/OS系统移植及用Saleae Logic 16抓取分析波形

    文章目录 一.关于uc/OS系统 1.操作系统与裸机的区别 2.uc/OS运行流程 二.详细移植过程 1.STM32Cubex创建工程 2.为工程添加源码 3.添加头文件路径 4.添加代码 1)bsp ...

最新文章

  1. IDE接口驱动程序移植
  2. 垃圾收集简介 - GC参考手册
  3. 快手发售价定为每股115港元 募资净额412亿港元
  4. Ubuntu下通过命令打开图片
  5. commonAncestor
  6. Unity性能优化方法总结
  7. 微博爬虫之:无需账号获取微博weibo的Cookie
  8. 电压源电流源电路符号及2B法
  9. 今日收获(数据库方向)
  10. 危化品企业双重预防机制数字化系统怎样建?
  11. 利用最小二乘法进行线性拟合
  12. python---控制时间的函数time()
  13. Hillstone 基础上网配置
  14. mbp 封神台靶场 一(笔记)
  15. Datalogic得利捷将携新品Memor 11系列移动终端亮相2023中国零售业博览会
  16. Fluent验证案例17:RAE2822翼型
  17. 基于vue的tiptap编辑器插件(三)
  18. 基于Android的校园外卖系统app
  19. WINDBG u win32k!NtUserSendInput 出现 Memory access error处理方法()
  20. iOS 6 Passbook 入门 2/2

热门文章

  1. C4C权限控制的一些特色功能和测试
  2. SAP ABAP的权限检查跟踪(Authorization trace)工具使用步骤介绍
  3. C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践
  4. python返回json数据_python和flask中返回JSON数据的方法
  5. 小新pro13睡眠后无法唤醒_轻薄的外表狂野的心——联想小新 Pro13 测评
  6. 星号三角形python_python中的星号三角形
  7. 最小表达式_C# 09.找最大和最小的数字
  8. shell sqlplus执行sql文_如何通过 Shell 监控异常等待事件和活跃会话
  9. css3轮播不用jpuery_15款效果很酷的最新jQuery/CSS3特效
  10. arcgis 栅格数据 邻域计算_ArCGIS中DEM地形鞍部提取