IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> UCOSIII学习笔记2——开发环境搭建 -> 正文阅读

[嵌入式]UCOSIII学习笔记2——开发环境搭建

开发环境搭建——基于Keil

1.拷贝一个STM32裸机工程。并新建一个文件夹UCOSSIII,如图所示

2.在新建的文件夹里新建五个文件夹,分别是:uc-BSP,uc-CONFIG, uc-CPU ,uc-LIB, ucos-III

3.接下来就是从官方源码里将文件拷贝到新建的文件里
1)官方 uCOS-III 源码\Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\BSP文件夹里的bsp.c,bsp.h拷贝到uc-BSP文件夹

2)官方 uCOS-III 源码\Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III文件夹里的app_cfg.h,cpu_cfg.h,includes.h等8个文件拷贝到uc-CONFIG

3)官方 uCOS-III 源码\Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\uC-CPU里的文件拷贝到uc-CPU文件夹下。

4)官方 uCOS-III 源码\Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\uC-LIB文件下的文件都拷贝到uc-LIB文件下下

5)官方 uCOS-III 源码\Micrium_uC-Eval-STM32F107_uCOS-III\Micrium\Software\uCOS-III文件夹下的文件都拷贝到UCOS-III文件夹下

4.keil打开工程,并对文件管理树进行配置

5.对每个模块添加相应的文件


5.对工程进行配置
设置头文件路径

至此基本环境配置完毕,接下来修改文件,允许第一个程序。我的板子是STM32F103ZET6。

1.首先修改工程的启动文件“startup_stm32f10x_hd.s”。其中将PensSV_HandlerSysTick_Handler分别改为OS_CPU_PendSVHandlerOS_CPU_SysTick_Handler,共两处

第一处

第二处

2.“cpu_cfg.h”的修改,由于默认使能了时间戳功能,所以下图中的地方必须修改
1)
修改前:

修改后:

2)如图所示:(该项使能/禁止测试关闭中断时间功能,由于在mian.c的段落保留了CPU_IntDisMeasMaxCurReset()函数,所以该工程开启该功能。如果需要用户禁止该功能,将此处设置为0,并注释掉mian.c中的CPU_IntDisMeaSmaxCurReset()函数)

修改后:

3“bsp.h”和“bsp.c”文件使用的都是UCOSIII源码的STM32板载驱动代码,这里需要删除这些板载驱动代码。

“bsp.h”的修改如下:
第一处:

修改后:

第二处:删除除了BSP_Init() 、BSP_CPU_ClkFreq()函数声明以外的所有代码
修改后:

“bsp.c”的修改如下:
第一处:山醋UCOSIII自带的STM32板载驱动的宏定义,如图所示:

第二处:删除UCOSIII自带的STM32板载驱动初始化函数BSP_Init()内的全部内容:

第三处:删除BSP_CPU_ClkFreq()函数以下的所有以“BSP_”开头的板载驱动函数定义。

4.修改应用文件“app_cfg.h”,系统默认使用自带的串口功能,这里不能使用系统自带的,还是使用裸机的。如图所示:
修改前:

修改后:

到这里UCOSIII移植已经完成了,编译下工程,没有错误和警告(如果出现错误按照提示修改即可)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:34:55  更:2021-08-10 13:35:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/11 22:16:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码