Vehicleio 程序运行
(一)、export设置运行环境变量:
在集成包目录下可执行:
(二)、运行可执行程序:
存在运行脚本
无运行脚本
程序名 -h 可查看可执行程序对应的mode
程序名 + 配置文件路径 + 运行mode + log等级(可不写)
- param_name : 对应的可执行程序名,例如vehicle_service
- param_file_path : user_config.json对应的路径
- param1 : 程序运行功能设定,可 -h 查看。例如:./bin/vehicle_service -h
- 设置成1,表示对外发布can parser数据。
- 设置成2,表示对外发布canraw数据。
- 设置成3,表示canraw和can parser数据同时发布。
运行示例:
(三)、运行缺少动态库提示:
error while loading shared libraries: libvehicleio_service.so: cannot open shared object file: No such file or directory
需要export 指定环境变量
error while loading shared libraries: libcommunication.so: cannot open shared object file: No such file or directory
缺少libcommunication.so动态库文件
error while loading shared libraries: libhlog.so: cannot open shared object file: No such file or directory
缺少libhlog.so动态库文件
程序异常处理流程
(一)、启动脚本异常
- 用户集成vehicleio数据接收不到,排查启动脚本,启动 mode 是否为 2
正常模式如下所示,最后一个参数
(二)、配置异常
Caution: config file not exist, please check path = xxx
config is not json
LoadConfig failed
open cfg_file:config/car/xxxxx.json failed!
Caution: parsermanager init failed please check: config/car/vehicleio.json
[communication]parse config file[config/car/communication_xxx.json] failed
请检查vehicleio.json文件存在路径,以及vehicleio.json内部包含json的文件路径是否正确!!!
(三)、底层异常
spi通信异常
rev can data in spi, ret = -10
rev canfd data in spi, ret = -10
HorizonHal_Group_Recv ret :-10
请检查spi端数据发送是否正常
j2、j3处理流程
(1)、检查SPI通信是否正常
执行命令 :
(2)、检查spi_service进程运行状态
spi_service进程如果处于"D"状态则属于异常。一旦出现异常状态,通常可通过重启spi_service来恢复其状态,且在重启spi_service后会输出三次握手信息,当三次握手成功后,SPI通信通路便可用。
spi_service进程运行异常时,kill该进程并重启命令如下:
重启之和再次检查SPI通信是否正常
(3)、执行can_sample程序
执行命令 : ./can_sample -r 1
执行命令 : ./can_sample_hal -r 1
log中有对应的信号id存在, 则下一步排查
(4)、查看/etc/service.json文件
service.json中的变量是否全部为0。
不全是为 0 ,则改为0,再进行接收测试
检查如下目录的文件是否最新
/etc/service.json
/include/spihal
(5)、查看原始数据指令
1.开启并查看原始数据:
2.关闭:
3.kernel log 存储位置
/userdata/log/kernel
j5处理流程
查看kernel log发送是否异常
查看底层数据接收是否正常,不正常则排查底层数据发送问题
1.开启:
2.关闭:
3.kernel log 存储位置
/log/kernel/
查看通道数据是否正常
vehicle_service进程接收底盘CAN数据的channel一般默认是9(根据vehicleio.json配置文件),若通道所在行的每一个数值一直都是不变或全为0,确认MCU是否正确发送对应type的报文。
socketcan通信异常
receive data from socket can failed
data is empty or data_cache_size is 0.
检查板子上的socket can是否可用
(三)、解析异常(json文件信号不全/格式不符)
ParseRawData canid is not exist, canid = xxx
1、json文件中解析的信号不全。
请添加之后再试
2、使用的json文件不对
修改vehicleio.json中的 如下两处路径:
设置车身信号解析所需的json文件路径
设置解析radar信号解析所需json文件路径
数据解析数值异常
检查信号对应的json文件,第一列名称是否符合VehicleIO识别要求
另外,枚举类型的信号量,其中的desp值也需要检查是否和信号映射表格中CANParseData的值定义一致
(四)、communication初始化异常
添加下面的路由信息:
