1、basic can配置filter code和mask
根据计算公式:FilterCode & mask == 目标范围CanId & mask mask中,某一位为1表示过滤该位,为0表示不过滤该位
===========================分隔符========================
2、一个批处理记录
#!/bin/bash
CurrPath=`pwd`
CompuPathStart=/xxxx/xxx/CompuMethod
CompuPathEnd=\<COMPU-METHOD-REF>
for file in `grep -rn \/\/@arPackages ${CurrPath} | awk -F: '{print $1}'`
for LostCompuLine in `grep -rn \/\/@arPackages ${file} | awk -F: '{print $1}'`
do
SysSigLine=`expr ${LostCompuLine} - 8` #for syssig uses one line Desc
SysSigName=`sed -n "${SysSigLine}p" ${file} |awk -F'[<>]' '{print $3}'`
if [ -z "${SysSigName}" ];then
SysSigLine=`expr ${LostCompuLine} - 5` #for syssig has no Desc
SysSigName=`sed -n "${SysSigLine}p" ${file} |awk -F'[<>]' '{print $3}'`
fi
if [ -n "${SysSigName}" ];then
echo ${SysSigName}
AimString=${CompuPathStart}_${SysSigName}${CompuPathEnd}
echo ${AimString}
sed -i "${LostCompuLine}s#\/\/@arPackages.*#${AimString}#g" ${file}
fi
done
===========================分隔符========================
3、去除文件中的不符合C语言特征的字符
示例:LANG=C cat file1 | tr -cd "[:print:]\n\t\v" >> file2
示例保留了换行,tab等
===========================分隔符========================
4、使用gcc编译器编译代码含有语句sizeof(数据类型),出现报错 "invalid application of 'sizeof' to incomplete type"
原因所在:在出现报错的.c里面,sizeof(数据类型)中的数据类型在该.c定义了全局变量,且该全局变量被extern了。
解决办法是去掉全部变量的extern
===========================分隔符========================
5、一种DSPR的划分,实际使用中超出导致栈被修改,进而进入trap
===========================分隔符========================
6、UDS on Can PCI信息 (在ISO-15765-2-2016中有提到)
===========================分隔符========================
7、使用Tasking在后台编译的命令,尤其是大家抢占浮动license
while(& 'Tasking ctc bin amk.exe的路径' -G '编译文件存放路径' -j16 all){}
===========================分隔符========================
8、BswM对于包含未配置初始值或未更新过的数据来源的BswMLogicExpression不会进行仲裁。BswMModeRequestPort是可以通过配置参数BswMModeInitValue配置初始值的。
===========================分隔符========================
9、
Standardized AUTOSAR Interfaces:根据AUTOSAR定义的一定规则生成的接口,接口名称随配置的变更而变更
AUTOSAR Standardized Interfaces:AUTOSAR已经规定好api的名字,不能通过配置改变
===========================分隔符========================