MS-RTOS --- 技术特点及其检测标准

一、动态装载,片上运行
MS-RTOS支持动态装载APP和支持多APP运行,使得应用程序能与系统、驱动程序分离开发、独立升级,实现了软件定义设备的理想,使物联网设备从功能设备转变为智能设备,类似于功能手机到智能手机的转变。MS-RTOS的XIP-ANYWHERE动态装载技术,无需装载APP镜像到 RAM 中执行,大大降低了对RAM的需求,同时片内FLASH XIP运行速度比RAM更快,使得MCU上的动态装载APP变得真正实用。同时MS-RTOS的应用程序编译时无需指定运行地址,一次编译,处处运行,使用更灵活。

具体解释可以查看博客:MS-RTOS — 片内程序执行XIP

检测方法:将应用程序存放在Flash中,命令动态启动,查看内存占用和镜像大小,如果应用内存使用小于镜像大小,证明应用程序在Flash片上运行。

二、应用内核隔离
多进程安全隔离指将每个进程运行在自己独立的地址空间内,当进程发生异常时,只会影响进行所在的地址空间,对系统中的其他进程以及系统不会造成影响,提高整个系统的安全性。同时,内存越界造成的后果往往不可预料且非常严重。它出现的时机是随机的,表现出来的症状是随机的,而且造成的后果也是随机的,当由于内存越界造成系统异常,系统会报出异常告知用户,避免进一步产生更严重的结果。

检测方法:进程访问不属于其内存空间地址,系统能检测到且做出提示。某一进程发生异常时,不能影响内核和其它进程的正常运行。出错进程异常退出,系统和其它进程正常运行。

三、应用权限管理
MS-RTOS支持APP权限配置,限定APP能访问哪些设备、可以进行哪些系统敏感操作、可以使用多少个内核资源等,有效保证系统安全。

检测方法:修改APP配置文件,控制APP配额和权限,APP配额和权限应符合修改设定。

四、OTA升级
MS-RTOS支持 OTA升级技术,能支持APP与系统独立升级,相比传统捆绑模式,升级粒度更小、速度更快,此外MS-RTOS还提供了差分包升级的支持,节约通信流量的同时做到实现快速升级。

检测方法:独立升级APP。制作差分包,传输差分包升级。差分包要明显小于完整包。

五、低功耗管理
MS-RTOS实现了一个功能完整的电源管理框架,帮助应用轻松实现设备低功耗,满足电池供电应用场景节能需求:
支持 Tick-less 技术,减少 Tick 中断开销;
支持CPU和设备调整频率运行;
设备低功耗框架;
系统空闲时 CPU 进入深度睡眠。

检测方法:在各个状态下测量CPU功耗,应有明显不同。

六、应用数字签名
MS-RTOS支持对APP镜像数字签名,有效阻止了未经签名或被恶意篡改或伪造的 APP 在目标系统(如智能表计设备)上运行,有效保证了目标系统的安全性。

检测方法:手动修改过的APP镜像,在启动时应该报错,且无法启动。未通过密钥签名的APP,在启动时应该报错,且无法启动。

七、完善的开发工具
提供物联网软件开发全套工具,包括:SDK在线构建网站,操作系统在线使用文档,IoT Studio集成开发工具,ImagePackger出厂固件打包工具,AutoTester自动化测试工具,Shell系统分析命令,差分包生成工具,APP启动参数制作工具,APP数字签名工具,崩溃信息分析工具,静态栈用量分析工具,覆盖率分析工具,系统行为分析工具。

1.开发者中心
2.开发者工具包
3.SDK云平台
4.IoT-Pi入门

八、C/C++支持
应用程序一般用C语言开发,所以很多时候会调用C库的函数,而C库中的很多函数其实与操作系统有关,比如fopen最终会调用open函数,如果open函数或类似的桩函数没实现,意味着C库很多函数用不了,MS-RTOS实现了C库所依赖的全部桩函数,使得C库全部函数可用,这需要对C库有深入的研究。

应用程序有时也会采用C++语言开发,C++代码的运行需要一个C++运行时(run time)以解决C++对象构造的顺序和安全性问题,传统的实时操作系统并不提供此功能,需要对编译器和C++运行时进行深入的研究。

检测方法:测试libc库函数接口,包括所有接口的功能测试、入参(边界值、无效值、正常值)、返回值,需均符合预期。在集成开发环境中写C++代码,可对代码进行编译调试。

猜你喜欢

转载自blog.csdn.net/qq_40390825/article/details/119025492
ms