基于OSEK/VDX的汽车应用多JVM系统:KESO的创新与实践
1. 背景与问题提出
现代汽车中存在大量微控制器,负责从音频系统监控到刹车辅助等各种任务。这些硬件和软件来自不同制造商,集成到一个协作系统中十分复杂。将多个任务整合到功能更强大的微控制器上,虽能降低成本和多样性,但会带来新问题。
在专用微控制器系统中,软件物理隔离,而共享硬件的任务缺乏这种隔离,故障任务可能破坏其他任务的内存,导致错误传播和系统故障。而且,嵌入式软件开发多使用易出错的C和汇编语言,随着软件复杂度增加,隔离需求愈发迫切。
配备内存保护单元(MPU)或内存管理单元(MMU)的微控制器可实现任务隔离,但硬件成本高,且不同硬件编程方式不同。相比之下,使用Java等类型安全语言进行软件开发可避免许多不安全语言无法检测的错误,软件保护方案提供统一环境,不受底层硬件影响。
2. 解决方案探索
个人计算领域已开发出解决软件集成问题的概念,如面向对象编程(OOP)和虚拟机(如JVM)。将这些概念迁移到嵌入式JVM,使用Java进行软件开发可减少错误,并在一定程度上隔离任务。然而,单JVM存在静态类字段允许引用漫游、资源在线程间平均分配等缺点,不适用于实时系统。
3. KESO系统介绍
3.1 系统概述
KESO是一个原型系统,旨在实现嵌入式软件的稳健开发和任务的安全集成,同时保持实时能力和小内存占用,适合嵌入式系统有限资源。它基于标准OSEK/VDX操作系统构建,为嵌入式软件工程师提供熟悉的系统配置和创建过程以及OSEK系统服务接口。
超级会员免费看
订阅专栏 解锁全文
901

被折叠的 条评论
为什么被折叠?



