电子说
Keil RTX5在汽车安全及工业安全上又有新的进展啦!Arm为安全关键系统相关应用高度优化的运行时软件组件可以运行在汽车,工业和医疗市场上广受好评的Arm芯片上。
新的功能安全运行时软件组件包含一个经过认证的实时操作系统(RTOS),Keil RTX5,手工优化的C库和大量文档帮助客户产品通过安全认证。结合TÜV SÜD 认证的Arm编译工具链和软件测试库,该组件通过提供一个安全,可靠,高效的软件平台减少工程师开发底层软件上的时间,投入更多的时间在附加值更高的应用软件上,从而提高工程师的效率,加速安全相关产品的上市时间。
面向安全关键的Cortex-M运行系统
为工程效率而设计
Keil RTX是一个任务时间确定的RTOS,开发者可以在它上创建同时运行多个函数的工程,它同时可以帮助开发者更好的组织和维护工程应用。RTOS一般会管理多个应用任务或线程,为了实时响应,RTOS会采用基于优先级或抢占式的方式进行任务调度。随着安全关键系统变得越来越复杂,RTOS技术的优势就越来越明显。
在安全关键系统中使用RTOS,嵌入式工程师需要通过编写符合监管要求的软件文档和测试,挑战重重。为了简化和加速需要认证的安全关键系统中的软件开发,arm和 TÜV SÜD 合作将Keil RTX5通过了安全标准ISO26262中的面向车载的ASIL D(Automotive Safety Integrity Level,汽车安全完整性等级)标准和IEC61508的面向工业的SIL3标准。
为安全而设计
在Keil RTX5的开发中,我们考虑很多安全相关的因子,这样内核自然提高了嵌入式应用的可靠性:
线程和句柄模式:Keil RTX5内核执行在句柄模式,拥有独立的栈,从而避免线程切换中的栈重复加载。
中断执行时间确定:Keil RTX5使用大部分Cortex-M处理器上都有的LDEX/STEX原子操作指令,系统运行时用户中断不用屏蔽。
内核对象的运行时检测:对象检测器在运行时会检测类型是否匹配,避免用户程序的误操作。
堆栈溢出检测:Keil RTX5将线程栈顶赋上特定值,在线程切换的时候检测该值是否被覆写。
基于对象的内存池:针对不同对象而设计的固定尺寸内存管理策略避免了运行时的内存碎片化,同时也让对象的创建和销毁时间确定。
静态对象内存分配:用户程序可以决定需要为内核对象提供静态内存大小,这也避免了RTOS系统运行时内存不足的问题。
MISRA C:2012兼容:Keil RTX5使用C语言编写,符合MISRA C:2012建议的C99扩展。
进程保护
许多基于Cortex-M设计的微处理器保护一个用来隔离不同进程存取内存和外设的内存保护单元(MPU)。通过安全认证的Keil RTX5,提供了可选的MPU支持,进一步利用硬件内嵌的进程隔离功能提高嵌入式应用的安全。
为了简化系统配置和保护数据和外设,Arm引入了新的CMSIS组件:CMSIS-Zone。该组件包含一个交互工具无缝管理系统配置,可以用于单进程和多进程环境。该交互工具可以显示系统可用资源,帮助软件架构师分配处理器,内存和外设到不同的区域。在工程上,这些内存和外设还可以进一步划分到用于执行安全进程的带MPU执行单元。
可用性
这套用于功能安全的运行系统组件将于2018年六月上市,包含Keil RTX5实时操作系统, Arm功能安全c语言库,安全手册,安全案例报告和TÜV SÜD 证书。
通过认证的运行系统组件可以用于使用Arm Cortex-M0, Cortex-M0+,Cortex-M3, Cortex-M4和Cortex-M7,期望通过ISO26262 ASIL D和IEC61508 SIL3认证的项目,基于Cortex-M23和Cortex-M33的认证组件计划在2019年发布。
全部0条评论
快来发表一下你的评论吧 !