前言
1、capl里调用封装好的dll;
2、capl里编写安全算法;
3、用CDD的诊断功能来调用dll;
4、利用节点调用dll实现UDS_TP/NM(OSEK/Autosar);
一、如何封装capl调用的dll解锁
(1)生成dll的工程模板在我们安装CANoe时就自动生成了,以Win 7系统、9.0版本的CANoe为例,该工程路径如下:
C:\Users\Public\Documents\Vector\CANoe\9.0\CANoe Sample Configurations\Programming\CAPLdll\VS 2005 Project(参考)
(2)打开.sln工程,将自己想要被调用的接口函数的定义及声明写入到”capldll.cpp”这个文件中
(3)找到CAPL_DLL_INFO4,了解参数作用,如下:
typedef struct CAPL_DLL_INFO4{
char cdlName[MAX_CDL_NAME2]; // 在CAPL中调用时显示的函数名
CAPL_FARCALL adr; // 函数地址,即vs工程中函数定义时的函数名
const char* categoryName; // 函数在CAPL中的所属目录,可以用于对函数的分类
const char* hintText; // 对该函数功能的描述介绍(在CAPL中显示)
char resultType; // 函数的返回值类型,用CAPL中的类型的首字母大写去表示
int parCount; // 函数的参数个数
char parTypes[MAXC