
欧洲
操作系统(OS)操作系统这部分完全没有必要自研。直接选择成熟的实时操作系统(RTOS)即可。通常情况下,芯片厂商在发布新款芯片时,都会预先集成常见的 OS 或 RTOS,并提供驱动程序的参考设计。这意味着,如果你选择了常见的 RTOS,后续几乎不需要对底层驱动进行太多改动。例如,许多芯片厂商已经为 FreeRTOS 提供了完整的 bring-up 支持,包括 bootloader 和所有常见外设的驱动程序等。如果你需要开发安全相关的系统,则可以选择 SafeRTOS,其 API 与 FreeRTOS 完全兼容。至于为什么很多 AUTOSAR 厂商会打包一个底层的操作系统给我们用?说实话,我一直不太明白这种做法的实际意义。这些操作系统通常是私有的,按照它们提供的 API 进行开发反而会让你牢牢绑定在这家 AUTOSAR 厂商身上。相比之下,选择常见的操作系统具有明显优势:工程师的学习成本更低,且这些系统经过了更广泛的验证,显然比 AUTOSAR 厂商提供的解决方案更加成熟。唯一我能想到的好处是,AUTOSAR 供应商可能会告诉你,他们的操作系统完全符合 MISRA 标准。但从实际开发角度看,这一点并不足以成为选择它们的理由。
下面进一步分析其他模块的自研可能性 BSW(Basic Software Layer)BSW 是 AUTOSAR 的核心组成部分,主要包括通信、诊断、存储等功能模块。对于这部分内容,可以根据具体需求决定是否自研。- 通信模块:如 CAN、LIN、Ethernet 等协议栈,虽然 AUTOSAR 提供了现成的解决方案,但这些模块本身已经相当成熟,市场上也有许多开源或低成本的替代方案。如果团队具备足够经验,完全可以自行实现。 - 诊断模块:例如 UDS 协议栈,这是现代车辆诊断的核心部分。虽然 AUTOSAR 提供了标准化的实现方式,但如果团队有较强的技术实力,也可以根据项目需求定制化开发,避免支付高昂的授权费用。- 存储模块:如 NVM(非易失性存储),这一块同样存在大量成熟方案。如果性能要求不高,完全可以采用开源库或简单的设计来满足需求。 RTE(Runtime Environment)RTE 是连接上层应用软件与底层基础软件的关键桥梁。对于是否自研,我的建议如下:- 如果团队已经有完善的分层架构设计能力,可以尝试自研 RTE。这样不仅可以更好地控制系统的灵活性和扩展性,还能减少对第三方工具的依赖。- 但需要注意的是,RTE 的开发涉及复杂的接口管理和数据交互逻辑,如果没有足够的经验积累,容易导致开发周期延长甚至失败。 MCAL(Microcontroller ABStraction Layer)MCAL 主要负责硬件抽象,使得上层软件可以独立于具体硬件平台运行。对于这一层,我的观点是:- 如果所使用的芯片型号相对固定,且团队对硬件驱动开发有丰富经验,完全可以自行开发 MCAL 层。- 不过,考虑到市场上已有许多成熟的 MCAL 解决方案(如由芯片厂商直接提供),除非有特殊需求,否则一般不建议花过多精力在此处。

XML
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号