1、基于RT-Thread内核的AUTOSAR在n32g上的实现
随着小米宣布造车,当下“软件定义汽车”的趋势如火如荼,autosar的全称Automotive Open System Architecture,即汽车开放软件架构,这正如TCP/IP对网络进行统一,autosar是对汽车软件技术的统一,TCP/IP制定的初衷是为统一网络标准从而诞生了今天的互联网,而AUTOSAR的制定是为实现汽车电子软件的统一从而实现汽车电子软件的复用。本项目是基于autosar3.1的开源代码arctic core,在此基础上,完成在n32g45x上的mcal驱动,适配RT-Thread内核为autosar的操作系统。
目前已完成mcal的mcu驱动,autosar的osek操作系统已经能在n32g45x上正常调度,移植rtthread到arctic core,但是在适配OSEK/VDX的接口过程中,发现这个适配工作不是一两个月所能完成,因为osek/vdx的标准非常严格,如果对OSEK/VDX感兴趣的小伙伴可以一起加入rtthread对osek/vdx的适配。
AUTOSAR的分层模型及各层简述
AUTOSAR从上往下分为应用层、RTE层和基础软件层(BSW)。
应用层由多个软件组件SWC组成,每个SWC是具有一定功能的模块,如汽车发动机控制逻辑,这些模块可以由matlab的autosar软件包依据模型进行设计;RTE全称Runtime Environment,即运行时环境,它的内部是一条autosar框架定义的虚拟功能总线(VFB),SWC、BSW通过这条虚拟功能总线进行通信。
BSW从上到下分为服务层、ECU抽象层、MCU抽象层,分层的目的是为了实现各层的复用和对下一层的隔离,这正如RT-Thread的分层思想那样,RT-Thread可以适配不同的MCU就是因为采用了驱动和设备分离的策略,RT-Thread的同一个设备因为注册了不同的驱动就可以驱动不同的MCU。在AUTOSAR中,和MCU有关的一层是MCU抽象层,及MCAL,用RTT的驱动和设备分离的思想来理解autosar的mcal就是同一个ECU抽象层因为注册了不同的MCU驱动就可以驱动不同的MCU。在autosar的成员中就有nxp这样的芯片原厂提供autosar的mcal。
原作者:happycode999
更多回帖