AUTOSAR笔记:工程代码集成与调试(七)

发布时间 2023-06-07 22:06:42作者: 明明1109

完成AUTOSAR系统级、ECU级、SWC级相关开发和代码生成后,需要进行代码集成与调试。本文对AUTOSAR工程代码架构、集成、编译链接、调试方法进行简单介绍。

工程代码架构、集成方法

一套完整的符合AUTOSAR规范的ECU代码主要包括:
①应用层SWC代码;
②运行时环境代码;
③基础软件代码(BSW);

BSW由于开发工具原因,除MCAL外的代码均由RTA-BSW、RTA-OS工具生成,MCAL代码由EB tresos Studio工具生成。除了RTA-OS工具直接调用编译器对OS代码进行编译,其他BSW代码均是源代码(.c/.h)。这些BSW代码由动态代码(Dynamic Code)和静态代码(Static Code)两部分组成,前者由配置工具根据相关配置信息生成的代码,后者则是各BSW模块功能的具体实现代码。

除AUTOSAR工具链生产的代码外,还需要添加一些附加的代码文件,如MCU启动代码等。最终,可得到一个AUTOSAR代码集成的基本流程:

代码编译链接

目前,针对PowerPC系列MCU编译器主要有WInd River、Green Hills。这里采用Wind River编译器进行编译链接,并将其集成于IDE Eclipse。A车灯Wind River编译工程架构如下图:

右键工程名> Build Project,即可进行工程构建(编译、链接)。


代码调试

代码Build后,需要使用debugger将可执行文件烧写到MCU内部,进行debug。这里使用Lauterbach调试器调试,使用ETAS BUSMASTER工具进行CAN报文观测。

MCU可执行文件下载

打开Lauterbach TRACE32工具> 点击File> Run Script> 选择mpc5744p.cmm脚本:

选择MCU可执行文件(.elf)后,调试器会将其下载到MCU,然后进入软件debug界面。点击运行“▲”即可开始在线调试:

至于A、B车灯项目代码debug,暂略。