EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
|6 {1 G" q0 `/ Q! l
LZ研究了一下Simulink生成A2L的原理,5 [1 a) `& a( c! I, B
9 T; }3 D/ U$ ]' c) c5 x- M0 N发现修改相关tlc后,可以生成定制版的A2L
- z" Y; N+ @7 y4 N7 I' x9 SA2L包含scalar、Lookup1D(curve)、Lookup2D(mapping) Measurable可测量但不可调 applicable可调
' T# R# N ]7 I" QSimulink在生成A2L时使用到了下列文件夹的若干文件, D:\MATLAB\R2015b\toolbox\rtw\targets\asap2\asap2下的文件作用: getCompuMethodName.m用于获取Compu_Method的名称,CM_DataType_DocUnits,其中Units将数字和字母以外的符号变成’_’ " }- {" r, o: \/ b" x
asap2userlib.tlc定义了生成A2L的形式,可以对标定/信号之类的加A2L属性 向标定或者信号中加上MemoryAddress_ASAP2 属性即可生成A2L时加上地址 $ N6 s- q( o1 l3 l
( S- F& s. |; k4 M- {' _asap2post.m可以对A2L进行地址map,与编译器的Linker map/ELF文件进行关联使用,规则可以在该.m中修改, asap2post_targets.m函数可以把a2l文件中的虚拟地址根据map文件中的地址改掉。 asap2post(ASAP2File, MAPFile) 可以替换a2l文件里的地址,但是系统自带的一般无法直接使用,需要修改里面部分匹配规则,具体参考正则匹配。以适合你的map文件格式。然后直接运行ok了。 你可以根据asap2post.pl文件和asap2post_targets.m文件推出来工作工程,你需要学一点很简单的perl语言,就只改一两行就可以了 . i- d, ]/ d! d$ M
: Y! H' N: `- I) A: f/ w; B
& ], C0 b5 U* r4 @/ n6 X |