基于STM32的μCOS_II移植实例(非常详细的移植过程)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 中新建文件夹

相关文档
最新文档