下载
首先在NXP官网https://nxp.flexnetoperations.com/的搜索栏输入KEA,按下回车键,一般第一个就是KEA产品的链接,如下图所示:
我们选择KEA通用评估版链接,并点击进入:
下载LIN开发工具:
使用
安装完成的程序位于:
其输入为NPF文件路径,输出为lin_cfg.h, lin_cfg.c的存储路径:
NPF文件配置
如果只需要单帧通信,在ldf文件同级目录创建Slave_Node_LIN21_Class1.npf,并复制以下内容:
/*** GENERAL DEFINITION ***/
LIN_node_config_file;
/*** MCU DEFINITION ***/
mcu {
mcu_name = MC9S12G128;
bus_clock = 8000000; /* Frequency bus of system Hz*/
}
/*** LIN HARDWARE DEFINITION ***/
/*** NETWORK DEFINITION ***/
network {
idle_timeout = 5 s;
time_period = 500 us;
diagnostic_class = 1;
resynchronization_support = no;
autobaud_support = no;
max_message_length = 6;
LI0 {
node = FrontLeftDoor; /* Name of node described in LDF (must check consistence with LDF) */
file = "LINDiagnostic.ldf"; /* Name of LDF file */
device = slic;
support_sid {
READ_BY_IDENTIFIER = 0xb2;
ASSIGN_FRAME_ID_RANGE = 0xb7;
ASSIGN_NAD = 0xb0;
CONDITIONAL_CHANGE_NAD = 0xb3;
SAVE_CONFIGURATION = 0xb6;
ASSIGN_FRAME_IDENTIFIER = 0xb1;
}
}
}
如果同时需要单帧以及多帧通信,在ldf文件同级目录创建Slave_Node_LIN21_Class3.npf,并复制以下内容:
/*** GENERAL DEFINITION ***/
LIN_node_config_file;
/*** MCU DEFINITION ***/
mcu {
mcu_name = MC9S12G128;
bus_clock = 8000000; /* Frequency bus of system Hz*/
}
/*** LIN HARDWARE DEFINITION ***/
/*** NETWORK DEFINITION ***/
network {
idle_timeout = 5 s;
time_period = 500 us;
diagnostic_class = 3;
resynchronization_support = no;
autobaud_support = no;
max_message_length = 21;
LI0 {
node = FrontLeftDoor; /* Name of node described in LDF (must check consistence with LDF) */
file = "LINDiagnostic.ldf"; /* Name of LDF file */
device = slic;
support_sid {
READ_BY_IDENTIFIER = 178;
WRITE_DATA_BY_IDENTIFIER = 46;
ASSIGN_FRAME_ID_RANGE = 183;
ASSIGN_NAD = 176;
CONDITIONAL_CHANGE_NAD = 179;
SAVE_CONFIGURATION = 182;
ASSIGN_FRAME_IDENTIFIER = 177;
READ_DATA_BY_IDENTIFIER = 34;
}
}
}
输出路径配置
如果只需要单帧通信,输出路径选到single目录(其下为单帧通信对应lin_cfg.h, lin_cfg.c),点击Generate生成lin_cfg.h, lin_cfg.c
如果生成出错,完成ldf文件修正后,通过点击Clear errors清除错误信息,重新点击Generate。
如果同时需要单帧以及多帧通信,输出路径选到multi目录(其下为单帧以及多帧通信对应lin_cfg.h, lin_cfg.c)
之后的使用方法和单帧完全相同。
lin_cfg.c, lin_cfg.h处理
需要将lin_cfg.c中const lin_hardware_name lin_virtual_ifc = SLIC;
以及lin_cfg.h中#include "lin_hw_cfg.h"注释掉;
示例代码
如果采用Slave_Node_LIN21_Class1.npf生成lin_cfg.c, lin_cfg.h,编译采用Single.uvprojx;
如果采用Slave_Node_LIN21_Class3.npf生成lin_cfg.c, lin_cfg.h,编译采用Multi.uvprojx;
注意
示例程序目前仅支持Slave LIN2.1
文章与V5.0.0以上版本SDK匹配,低版本需要替换V5.0.0以上版本中的lin_stack库文件