举例修改TLC文件以满足XCP协议
因matlab生成的A2L并不支持XCP或者CCP,在模型数量较多时,修改TLC来控制A2L生成格式是一种不错的方法,但记得备份原TLC。
1. 在项目中使用了XCP协议,需在A2L的MODULE 目录下加入A2ML等子目录,所以选择asap2userlib.tlc入手修改ASAP2UserFcnWriteHardwareInterface()函数,在MOD_PAR和MOD_COMMON之间加入A2ML、IF_DATA XCP等等,这样生成的A2L可以直接导入XCP工具如canape。
即原ASAP2UserFcnWriteHardwareInterface()修改为:
%function ASAP2UserFcnWriteHardwareInterface() Output
/begin MOD_PAR "%"
/end MOD_PAR
/begin A2ML
/* 事件、CAN、TCP/IP等信息,从XCP协议复制过来,或者供应商提供 */
/end A2ML
/begin IF_DATA XCP
/* PROTOCOL_LAYER、DAQ等,从XCP协议复制过来,或者供应商提供 */
/end IF_DATA
/begin MOD_COMMON "%"
BYTE_ORDER %
/end MOD_COMMON
%endfunction
2. 标定地址的map是另一个问题,模型生成的A2L并不包含地址信息,标定地址包含在.map文件中,在前面提到过matlab提供了脚本自动map地