关键词
嵌入式、C语言、autosar
平台说明
项目 | Value |
---|---|
OS | autosar OS |
芯片厂商 | Infineon (Tricore) |
编程语言 | C,C++ |
编译器 | tasking |
技术背景
为了实现通过xcp协议和canpe,在上电后不需要发送CANApe的连接、开始传输等命令就可以接收ECU的信息。。XCP Resume。
技术难点(关注点)
XCP的通信协议和脚本,NVM的使用。
注意:XCP的初始化现在必须放在ReadAll之后,因为要用到NVBlock中的数据。
整体架构#流程
在config中配置XCP Resume–> 配置NVblock –>添加代码 ->配置CanApe。
实现过程
1.配置
1.XCP配置中开启Resume选项。
2.新建SWC,并且创建NVBlockNeed,下电写入NV值。
- CANApe中Device 配置开启Resume,且配置一个超时时间。
4.创建一个APE脚本,使之进入Resume或者退出Resume模式。
5.开始测量后断电,再上电,可以实现立即传输DAQ。
2.代码实现
1.在XCPappl.c中添加代码。
小结
XCPResume 实现流程:
在XCPMainFunction中,收到CanApe发出的进入Resume模式的命令后,调用XcpAppl_DaqResumeStore()函数,下电存储XCP的相关配置数据到NVBlock。下次上电后,如果在Resume模式中,则调用XcpAppl_DaqResume()函数恢复DAQ配置。
注意:XCP的初始化现在必须放在ReadAll之后,因为要用到NVBlock中的数据。