- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于STM32的μC/OS_II移植实例
目 录
第一章 μC/OS_II移植准备工作 2
1.1 硬件平台 2
1.2 软件平台 2
第二章 μC/OS_II移植步骤 3
2.1 文件结构 3
2.2 μC/OS_II文件移植 4
2.3 MDK中导入μC/OS_II文件 4
2.4 需要修改的代码 7
第三章 μC/OS_II多任务以及任务间通信的实现 9
3.1 μC/OS_II任务的创建 9
3.2 事件标志组的创建 11
第四章 μC/OS_II移植测试 13
4.1 μC/OS_II多任务的测试 13
4.2 任务间通信的测试 14
第一章 μC/OS_II移植准备工作
以武陵源车载系统终端为背景,探讨基于STM32的μC/OS嵌入式系统移植方法。武陵源车载终端的基本功能是GPS数据的接收、站点和弯道的识别、超速报警、GPRS数据上传等。本文重点是把μC/OS移植到程序中来,其次把各个基本功能模块化并划分为几个主任务,以便实现嵌入式系统的操作。
1.1 硬件平台
硬件平台是ARM公司基于ARMv7架构Cortex-M3系列处理器执行Thumb-2指令位哈佛微体系结构和系统外设,包括Nested Vec-tored Interrupt Controller和Arbiter总线。它整合了多种技术减少内存使用极小的RISC内核低功耗和高性能。新的单线调试技术避免使用多引脚进行JTAG调试并全面支持RealView编译器和RealView调试产品。Fastrax IT500,它是一款能适用于非常苛刻的应用高性能的导航,在GPS卫星可见度较恶劣的环境下也能稳定定位。IT500领先的冷启动灵敏度(-148dBm)领先的导航灵敏度(-165dBm)定位率可以根据客户的要求设置到最高10Hz,非常适合高动态的应用。功耗低体积小便携特点休眠模式下功耗仅为1.6mA采用两边SMT邮票口封装支持全球通用的850900/1800/1900MHz四频内置TCPIP协议栈,符合工业级要求,可适应高温高湿电磁干扰等恶劣的工作环境。 .2 软件平台
软件平台为RVMDK软件。RVMDK是由ARM编译器RVCT与Keil的工程管理、调试仿真工具集成,RVMDK是业界最好的Cortex-M3开发工具之一,它拥有流畅的用户界面与强大的仿真功能,是一款非常强大的ARM微控制器开发工具。移植前需要熟悉RVMDK软件的使用。移植过程中需要用到如图1.1所示文件,一个是武陵源车载系统终端程序,另一个是基于STM32的μC/OS_II移植文件。
第二章 μC/OS_II移植步骤
μC/OS_II的移植方法可以从三方面着手,首先分清武陵源车载系统终端文件和μC/OS_II移植文件层次结构;其次掌握μC/OS_II文件的移植过程以及在MDK软件中如何导入工程文件的过程;最后明确μC/OS_II运行尚需添加的代码。
2.1 文件结构
武陵源车载系统终端程序主文件夹如图2.1所示,文件夹中包含了整个工程项目文件。
主文件夹中包含了如图2.2所示的四个文件夹。输出文件夹中是MDK软件编译时生成的临时文件;Project文件夹中主要包含MDK工程的启动文件;Libraries文件夹包含了STM32芯片及外设的源文件;MyCode文件夹中包含用户编写的文件。
Libraries文件夹中包含了如图2.3所示的二个文件夹。CMSIS文件夹主要包含STM32芯片内核启动文件;STM32F10x_StdPeriph_Driver文件夹包含了STM32内部及外围器件的驱动文件。
基于STM32的μC/OS_II移植文件夹如图2.4所示,文件夹中包含了整个μC/OS_II内核和通信协议文件。
μC/OS_II文件中包含了如图2.5所示的四个文件夹。Ports文件夹包含了μC/OS_II的接口文件;uC-CPU文件夹包含了关于CPU的驱动文件;User文件夹中是用户对μC/OS_II初始化配置文件;Source文件夹包含μC/OS_II主要源文件。
2.2 μC/OS_II文件移植
首先,在武陵源车载系统终端程序主文件夹新建一个如图2.6所示的μC/OS_II文件夹,然后将Port、Source、uC-CPU三个文件夹复制到μC/OS_II文件夹中,将User文件夹中的三个头文件复制到MyCode文件夹中,其复制过程如图2.7、图2.8、图2.9所示。
2.3 MDK中导入μC/OS_II文件
首先,打开MDK工程,进入文件添加界面,新建μC/OS_II/Port、μC/OS_II/Source二个文件夹,新建文件夹结果如图2.10所示。其次,将刚刚移植过来的文件分类添加到各个工程文件夹中。
μC/OS_II/Source文件夹中添加如图2.11所示文件。
μC/OS_I
文档评论(0)