基于STM32的μCOS_II移植实例(非常详细的移植过程)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间: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系列处理器STM32F103T8。此处理器执行Thumb-2指令的32位哈佛微体系结构和系统外设,包括Nested Vec-tored Interrupt Controller和Arbiter总线。它整合了多种技术,减少内存的使用,极小的RISC内核有着低功耗和高性能的特点。新的单线调试技术,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和RealView调试产品。
GPS模块为Fastrax IT500,它是一款能适用于非常苛刻的应用场合,有着高性能的导航,即使在GPS卫星可见度较恶劣的环境下也能实现稳定定位。IT500有着领先的冷启动灵敏度(-148dBm)和领先的导航灵敏度(-165dBm),定位率可以根据客户的要求设置到最高10Hz,非常适合高动态的应用。
GSM模块为G600,它有着功耗低、体积小、便携式的特点。休眠模式下功耗仅为1.6mA,采用两边SMT邮票口封装,支持全球通用的850/900/1800/1900MHz四频段,内置TCP/IP 协议栈,符合工业级要求,可适应高温高湿、电磁干扰等恶劣的工作环境。
1.2 软件平台
软件平台为RVMDK软件。RVMDK是由ARM编译器RVCT与Keil的工程管理、
调试仿真工具集成,RVMDK是业界最好的Cortex-M3开发工具之一,它拥有流畅的用
户界面与强大的仿真功能,是一款非常强大的ARM微控制器开发工具。移植前需要熟
悉RVMDK软件的使用。移植过程中需要用到如图1.1所示文件,一个是武陵源车载系
统终端程序,另一个是基于STM32的μC/OS_II移植文件。
图1.1 μ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 主文件夹中所包含的文件
图2.3 Libraries 文件夹
图2.4 μC/OS_II 移植文件夹
图2.5 μC/OS_II 文件夹中所包含的文件
图2.1 武陵源车载终端程序文件夹
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所示。其次,将刚刚移植过来的文件分类添加到各个工程文件夹中。
图2.6 车载系统终端程序主文件夹
图2.7 μC/OS_II 文件夹中需移植的文件
图2.9 MyCode 文件夹中的文件
图2.8 User 文件夹中所包含的文件
图2.10 MDK 中新建文件夹