嵌入式RTOS编程

目录

 一、实验任务

二、了解嵌入式实时操作系统

实时性

响应时间

实时操作系统组成

三、使用CubeMX建立STM32F103C8T6HAL库

创建新工程

配置环境

RCC

 SYS

 端口配置

串口配置

Clock Configuration

 Generate Code

 修改工程代码

 四、移植uC/OS-III

准备工作

移植工作

 为CPU添加文件

 为LIB添加文件

为PORT添加文件 

 为SOURCE添加文件

 为CONFIG添加文件

 为BSP添加文件

 导入文件路径​编辑

修改代码

设置工作

 初始化管脚

撰写主函数

编译工作

 烧录工作

五、总结

六、参考


 一、实验任务

学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED灯进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS! 欢迎来到RTOS多任务环境!”。记录详细的移植过程。

二、了解嵌入式实时操作系统

嵌入式实时操作系统是一个特殊的程序,是一个支持多任务的运行环境。嵌入式实时操作系统最大的特点就是“实时性”,如果有一个任务需要执行,实时操作系统会立即执行该任务,不会有较长的延时。典型的实时操作系统有uCOS ,RT-Thread,FreeRTOS ,VxWorks,WinCE等。

嵌入式实时操作系统是一个特殊的程序(通常称为内核),它可以创建,销毁,控制所有任务。嵌入式实时操作系统除了包含一个内核以外,还提供其他服务,如文件系统,协议栈,图形用户界面等。本文的重点在于了解嵌入式实时操作系统内核的工作原理和结构,因此文中提到的实时操作系统通常指的是操作系统内核。实时操作系统内核通常要占用5%左右的CPU运行时间,另外内核是一个软件代码,需要额外占用ROM空间和RAM空间。

实时性


实时性可以定义为:触发条件产生后系统的反应能力。通俗的描述就是“天下武功唯快不破”,能达到所需要的“快”就是实时,在不同的场合需要达到us级、ns级。实时系统不仅仅只表现在“快”上,更主要的是实时系统需要对触发事件在限定时间内做出反应,这个限定时间是根据实际需要来定,例如自动驾驶控制系统的规定时间要求很短,需要在极短时间内做出动作;一些农业温度控制系统的规定时间要求比较长,需要温度控制平滑稳定。
 

响应时间

实时性越强,其响应时间越短。响应时间是指系统识别到一个事件到开始做出响应的时间。举一个简单的例子:一个工控设备有一个急停按键开关,用户希望按下急停开关的时候系统立即将停止所有的动作,假设用户在第1.001秒时按下了急停开关,软件系统在第1.011秒时执行了停止指令,工控设备相应的机械部件在1.211秒停止动作,此时软件系统响应时间为0.01秒,设备系统响应时间为0.21秒,设备系统的响应时间和软件系统的响应时间有一定区别,通常情况下设备系统的响应时间>软件系统的响应时间。本文中提到的响应时间指的是软件系统的响应时间。
 

实时操作系统组成

实时操作系由以下3个子系统组成(以uCOS和FreeRTOS为参考对象):
1、任务调度子系统
2、任务通信子系统
3、内存管理子系统

三、使用CubeMX建立STM32F103C8T6HAL库

创建新工程

配置环境

RCC

将hse设置为晶振

 SYS

 端口配置

设置PC13为GPIO_Output用于点亮LED灯

 

 

串口配置

USAR1

 

Clock Configuration

 Generate Code

如图设置,生成工程文件

 

 修改工程代码

找到生成的工程文件,使用keli打开

 

找到main.c,在主程序的while循环中添加如下代码

    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
  HAL_Delay(500);
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
  HAL_Delay(500);

 

 四、移植uC/OS-III

准备工作


从ucoslll官网中下载源码
http://micrium.com/downloadcenter/

下载完成后自行新建 文件夹uC-BSP和uC-CONFIG

为uC-BSP文件夹新建bsp.c和bsp.h文件

 

将uCOS相关文件复制到HAL工程的MDK-ARM文件夹下

 

移植工作

 新建文件夹如下

 为CPU添加文件

 

 

 为LIB添加文件

 

 

为PORT添加文件 

 

 为SOURCE添加文件

 

 为CONFIG添加文件

 

 

 为BSP添加文件

 

 导入文件路径

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值