整体思路
备注:
- elf可简单的看作为hex和map的集合,其中包括可执行的程序、变量及其对应的地址(simulink生成代码是也可以勾选生成ASAP2的a2l文件,有变量但变量对应的地址为空,只有编译后才分配地址)
- 定义变量是观测值还是标定值需要在simulink中的数据字典定义变量存储类型,详见simulink系列。
0. simulink添加观测量和标定量TBD
simulink进行代码生成的核心就是数据字典的管理。至于solver configeration详见simulink系列。
- 观测量(Signal Conversion,原子子系统)
- 标定量(volatile)
- 存储类型
- 自动化句柄
1. 前期准备A2L的制作
安装完成CanApe软件 , 插上CanApe硬件( 如:vector 1640A)。打开A2L编辑软件 ASAP2 Editor(注意不是ASAP2 Viewer),新建工程如下:选择下图map files处导入编译器生成的elf或者hex文件
并选择正确的map文件格式
map文件加载后,会出现软件开发过程中设置的的可标定量,具体见下图左侧栏
选择你需要的标定量,属性为 w /r 的变量。 可以选择为 calibration parameter,属性为 only read的变量,只可以选择为measure parameter 。导出并保持 xxxx. A2L 文件(可看作为针对CAN工具使用的map文件,里面放的也是变量和地址)
2. 配置CanApe的XCP标定工程
打开canape软件,并新建工程:
将新建的工程保存在一个文件夹内:
选择是否创建该工程在桌面上的快捷方式:
配置device:
然后:
导入A2L文件:
配置CAN的通讯参数:因为该工程是根据A2L生成的,所以下图这里就不用重复添加map文件了。
在下图中设置XCP通讯的ID,一般有底层开发人员提供。
然后点击TEST Connection,测试是否可连接成功
3. CANape标定
开始在新建的CANape标定工程内,进行标定选择想要观测或者标定的变量:
可在graphic中观测
点击运行后可在此处进行标定