2.uCOS2源码分析1-BSP部分

转自 https://edu.csdn.net/lecturer/505 朱老师物联网大讲堂
2.uCOS2源码分析1-BSP部分

第一部分、章节目录
4.2.1.uCOS2初体验
4.2.2.uCOS2源码工程建立
4.2.3.BSP部分源码解析
4.2.4.BSP部分源码测试1
4.2.5.BSP部分源码测试2
4.2.6.BSP部分源码测试3

第二部分、章节介绍
4.2.1.uCOS2初体验
本节带领大家浏览我移植好的uCOS2工程,并且进行编译和下载运行观察,讲述uCOS2工程目录结构,目的是让大家对uCOS2的工程先有个大体的认识印象。
4.2.2.uCOS2源码工程建立
本节建立ucOS2的SourceInsight工程并找到main函数,可以看出来uCOS2其实也是个大的裸机程序,学习起来并没有什么特别之处。
4.2.3.BSP部分源码解析
本节对uCOS2源码中BSP和usart部分进行讲解,和我们第三季中讲STM32标准库时并无区别。
4.2.4.BSP部分源码测试1
本节开始将原材料中的uCOS2目录中BSP和usart中的代码移植到我们的标准工程模版中来。
4.2.5.BSP部分源码测试2
本节完成bsp和usart的源码移植,主要是解决一些头文件的包含和路径的问题。移植过程可以提升大家的动手能力。
4.2.6.BSP部分源码测试3
本节对移植的bsp源码进行测试,主要是串口信息printf输出和LED的点亮熄灭。

第三部分、随堂记录
4.2.1.uCOS2初体验
4.2.1.1、编译和运行体验
(1)工程浏览
(2)编译
(3)下载运行
4.2.1.2、uCOS2源码目录结构
(1)硬件平台无关的
(2)硬件平台有关的
4.2.1.3、点评和总结
(1)学是2部分,用重点关注1部分即可
(2)uCOS2代码结构很不规范,还有很大提升空间,完全移植的工作量还是比较大的

4.2.2.uCOS2源码工程建立
4.2.2.1、SI工程建立和解析
4.2.2.2、main函数
(1)RTOS其实就是一个大的裸机程序,也是从main开始运行的
(2)main之前也是有一个汇编的启动文件的
(3)main中调用了很多初始化函数
4.2.2.3、bsp部分介绍
(1)bsp是board support packet 板级支持包
(2)bsp其实就是对硬件操作的封装(底层驱动或中间驱动层封装)
(3)完全移植的工作量主要就在bsp这一块

4.2.3.BSP部分源码解析

4.2.4_5.BSP部分源码测试1_2
printf函数本身内部是调用__io_putchar(GNUC)或者fputc(Windows)来实现的
所以我们在单片机里面要移植printf,就得去实现__io_putchar(GNUC)或者fputc(Windows),这种就叫做重定位

4.2.6.BSP部分源码测试3
强调:在MDK中移植printf后,必须勾选:USE MicroLib后才能成功,否则就什么错都不报就是串口不输出东西。

STM32中实现printf的细节,参考:http://masust.blog.163.com/blog/static/14695408420123308328203/

发布了10 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40083589/article/details/90518731
今日推荐