06中间件RTOS/CP

Autosar CP 操作系统详解-CSDN博客

1. 什么是RTOS ?

RTOS,英文全称是 Real-time Operation System,中文就是 实时操作系统,又称及时操作系统。

实时操作系统,是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

简单来说,就是能在规定时间内完成任务的操作系统。

2. 软实时 和 硬实时

实时操作系统又可以分为软实时硬实时

1. 软实时

软实时只要按照任务的优先级,尽可能快地完成操作即可。

举个例子,电脑的输入处理可以算作是一种“软实时”。为了保证用户的最佳体验,计算机对每个输入的响应应当在一个恰当的时间范围;但如果响应超出了这个时间范围,可能只是稍有卡顿,并不会让人觉得这台电脑无法使用。

比如,最近我的 Windows11的输入法经常性卡顿,偶尔敲字时会突然卡在那里,但最终还是会将我输入的内容显示在响应的地方。把输入法调到实时便可解决问题。

在这里插入图片描述

在这里插入图片描述

解决Win10/Win11输入法卡顿问题

2. 硬实时

硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的,如果无法做到则意味着整个系统的失败。

硬实时操作系统一般都是在对某些对时间把控非常严格的领域使用,例如如说火箭发射,火箭发射的时间都是要精挑细选的。比如小学课本上 1967年8月23日,苏联的“联盟一号”宇宙飞船在返回大气层时,由于忽略了一个小数点,突然发生了恶性循环事故,导致了减速降落伞无法打开;最终导致宇宙飞船在两小时后坠毁,宇航员弗拉迪米·科马洛夫殉难。

请添加图片描述

请添加图片描述

像火箭发射这种精密度极高的工作,稍有不慎,算错了时间点,就会“箭毁人亡”,非常需要实时操作系统。

还比如生活中常见的安全气囊,也是硬实时操作系统应用的一个场景。如果汽车发生意外后,安全气囊没有在极短的时间内弹出来并充满氮气,就会给前排驾驶人员带来极大的生命威胁。

在这里插入图片描述

在这里插入图片描述

3. RTOS 的特征

① 高精度计时

系统计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

② 多级中断机制

一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。

③ 实时调度机制

实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

简单来说,实时性操作系统的特点如下: ①异步的事件响应; ②切换时间和中断延迟时间确定; ③优先级中断和调度; ④抢占式调度。

4. CP Autosar 概览图


CP AUTOSAR OS 不支持动态创建任务,所有 OS 行为需要在编译时进行定义。

对于传统汽车电子开发领域,早期使用的OS则是OSEK OS, 其中OSEK是德文“Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug”的缩写,译为汽车电子开放系统及接口。

OSEK OS是一个为满足汽车电子可靠性、实时性、成本敏感性等需求而打造的实时单核操作系统(RTAOS)。

AUTOSAR OS 基于OSEK OS继承发展而来。

### 使用STM32CubeMX配置实时操作系统(RTOS) #### 1. 创建新项目并选择微控制器 启动STM32CubeMX软件,在初始界面点击“New Project”,随后通过ST-LINK Utility或其他方式连接目标板,自动识别或手动输入所需的MCU型号。 #### 2. 配置时钟树与时基设置 进入Clock Configuration选项卡调整PLL参数以满足应用需求的速度要求。对于大多数情况,默认值即可适用;但对于特定应用场景可能需要优化频率设定来达到最佳性能表现[^1]。 #### 3. 启用FreeRTOS中间件组件 转至Middleware标签页找到FreeRTOS项勾选启用它。这一步骤会向项目中引入必要的源文件和支持库以便后续编程调用API函数实现多任务调度管理等功能特性[^2]。 #### 4. 设置系统定时器(SYSTICK) 为了使能时间片轮转机制以及提供延时服务等基本功能支持,在System Core部分激活SysTick中断源,并适当调节重装载寄存器数值大小确保合适的滴答间隔周期(通常建议设为1ms)[^1]。 #### 5. 复制FreeRTOSConfig.h文件 下载官方发布的最新版本`FreeRTOS-main.zip`解压后定位到相应目录下获取`FreeRTOSConfig.h`头文件。将其拷贝覆盖至由STM32CubeMX生成的工程结构里的`Core/Inc/FreeRTOS/`路径内替换原有模板定义。 ```bash cp ~/Downloads/FreeRTOS-main/FreeRTOS/Demo/Common/include/FreeRTOSConfig.h ./ProjectName/Core/Inc/ ``` #### 6. 完成其他外设初始化工作 根据具体硬件平台特点继续完善串口通信接口(UART)、IIC/SPI总线扩展模块以及其他传感器驱动程序等方面的资源配置操作直至整个系统的框架搭建完毕为止[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值