本帖最后由 raspRun 于 2025-6-4 10:45 编辑
#申请原创# #技术资源#
[size=16.002px]最近公司新项目要用AUTOSAR架构,有幸拿到了GEEHY的AUTOSAR MCAL软件包。经过一段时间的摸索和使用,和大家分享一下实际体验和心得。 [size=16.002px]该套MCAL按照AUTOSAR Classic Platform 4.3.1标准开发,支持G32A14XX全系列芯片,适配性不错,实测G32A1445和G32A1465可无感切换。配套的EB Tresos Studio配置工具挺方便的,能直观地配置底层驱动。 [size=16.002px]在调试集成方面,它支持IAR、Keil、GCC等常用编译器,调试起来比较灵活。另外,它还兼容Vector、恒润、普华等主流基础软件(BSW)适配,方便我们后续扩展应用平台。不过,由于项目要过ISO 26262 ASIL-B功能安全认证,刚开始对它的安全机制不太熟悉,花了一些时间去理解它的设计规范。总的来说,GEEHY这套MCAL对新手还算友好,全球技术支持响应也快,而且免费授权降低了学习门槛。 [size=16.002px]
[size=16.002px]AUTOSAR将汽车电子软件架构抽象为四层,自上而下分别是: 应用层(Application Layer)、运行时环境(RunTime Environment, RTE)、基础软件层(BasicSoftware Layer, BSW)以及微控制器(Microcontroller)。基础软件层(BSW)又分为了系统服务层(Services Layer)、ECU抽象层(ECU Abstraction Layer, ECUAL)、微控制器抽象层(Microcontroller Abstraction Layer,MCAL)和复杂设备驱动程序(Complex Device Drivers , CDD)。 [size=16.002px]极海的G32A14XX MCAL软件包架构设计得挺清晰的。按照AUTOSAR标准,它包含了基础的标准MCAL模块,比如DIO、ADC、PWM这些常用驱动,同时还通过CDD(复杂驱动)扩展了一些芯片特有的功能,灵活性不错。 [size=16.002px]让我们比较放心的是,这个软件包在交付前已经通过了严格的测试验证。官方提供了完整的测试报告,包括: 单元测试(确保每个模块功能正常) 集成测试(检查模块间的配合) 静态代码分析(代码规范检查) 动态配置验证(运行时行为测试)
[size=16.002px]
[size=16.002px]实际使用时发现,他们还贴心地提供了桩模块(Stub),这在集成测试阶段特别有用。比如当某些硬件还没到位时,可以先通过这些桩模块进行软件层面的验证,大大提高了开发效率。 [size=16.002px]作为开发者,最实用的还是他们提供的示例代码。通过这些参考实现,能快速理解各个模块的配置和使用方法,省去了不少摸索的时间。整体感觉这套MCAL在代码质量和工程化方面做得比较规范,对项目开发很有帮助。以下是各个模块的介绍,供圈子里的朋友参考。 MCAL Drivers | Function Overview Description | | | | | Microcontroller unit driver | | General purpose timer driver | | | | | | | Flash EEPROM emulation driver | | | | | Serial peripheral interface driver | | Local interconnect network driver | | Controller area network driver | | | Input capture unit driver | | Pulse width modulation driver | | Analog to digital conversion driver | | | | | | Output Compare Unit driver | | | Hardware Secure Module driver | | | Cyclic Redundancy Check driver | | Inter-integrated circuit driver | | Injected and Reported Memory Error Module driver | | Platform Driver Library driver | | | Default Error Tracer driver | | Diagnostic Event Manager driver | | Controller Area Network Interface driver | | Local Interconnect Network Interface driver | | Watchdog Interface driver | | Electronic Control Unit driver | | | | | | Crypto Service Manager driver | | | | | | Runtime environment driver |
|