arm新运行时软件系统加速Cortex-M设备上功能安全应用开发

这是一篇关于Keil RTX5在汽车安全及工业安全上进展的译文,原文来自大名鼎鼎的Mr. Keil

=============

我们非常高兴发布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年发布。

更多信息

Anonymous
  • 使用Streamline分析RTOS系统性能

    本文翻译自Analyzing the performance of RTOS-based systems using Streamline ============================================================= Streamline是DS-5中的性能分析工具, Streamline可以用来分析裸机系统,RTOS,Linux,Android和Tizen系统的性能…
  • 免费的原生aarch64 CI/CD

            开源软件社区的朋友们有福了!如果你有个开源软件项目想支持Arm架构平台,却苦于没有Arm服务器做CI/CD (持续集成/持续交付),那这个好消息你可不能错过。7月10日,Shippable宣布和Arm,Packet.net达成合作伙伴关系,为Arm平台上的软件开发提供原生的CI/CD服务,重点是(敲黑板了)对于开源软件项目,Shippble提供免费的CI/CD服务!这些服务运行在给所有开源软件共享的64位的Armv8…
  • 当增强现实(AR)遇到机器学习(ML),一个结合 Google ARCore 与 Arm NN 的 Unity 案例

    背景介绍 在 Unity 中打开 Google ARCore 功能 编译 Arm NN 共享库 作为 Unity 的 Native 插件的一个 C++ 物体检测器 整合 Arm NN 到 Unity 中 背景介绍 增强现实和机器学习是当前两项最前沿的技术。其中增强现实可以把虚拟的物体惟妙惟肖地渲染到真实世界当中。 而机器学习,则可以帮助程序更好的认识真实世界中的物体。同时运用这两项技术,我们将可以创造出一系列新颖的应用…