工作日志
JIANJIANJIAN1111
喜欢电子的人
展开
-
CG03 vehicle运行就退出
1.问题CG03 运行vehicle就退出,但是vehicle在别的车上运行良好2分析利用gdb调试,发现在#1 0x00027d1c in HAL_SetDeviceName (device_name=0x0) 设备名称为0导致mqtt库链接溢出导致段错误。Type "apropos word" to search for commands related to "word".(gdb) target remote:1234Remote debugging using :1234.原创 2020-08-11 14:06:53 · 429 阅读 · 0 评论 -
vehicle v7.0 驾驶舱控制小脑的开闭,当接管后关闭小脑,然后遥控接管,驾驶舱再接管没有发送任何小脑指令,小脑是关闭状态
1.问题现象当接管后关闭小脑,然后遥控接管,驾驶舱再接管没有发送任何小脑指令,小脑是关闭状态。正确的现象应该是重新接管后,车的小脑功能是默认自动打开的。2.分析第一次接管后发送小脑关闭指令requestAeb=1,这个时候再退出接管,requestAeb值还是为1,当第二次接管时候舱端没有发送任何指令,但是vehicle的内部requestAeb=1,会不断地发送给底盘车辆20ms一次,所以会造成小脑关闭状态。3解决方案让requestAeb在退出接管后清零requestAeb=0;CA原创 2020-08-05 10:42:54 · 173 阅读 · 0 评论 -
arm-linux-gnueabihf-gcc 出现 collect2: error: ld returned 1 exit status 最后发现不是编译器的问题
1.问题描述上次用的ubuntu 20 在不知名的情况下出现打不开机,出现如下情况:当时按照百度试过各种办法都不行,有很多法子是要进入终端输入命令,但是我的情况根本进入不了终端,完全卡在这里动不了啦,后来索性就重装一个ubuntu20 ,但是后来重装上去后,一路按照软件,终于把环境搭好后进入vscode 发现以前的工程竟然编译出错啦,前两天还好好的,当时第一感觉是编译器出问题啦:arm-linux-gnueabihf-gcc 后来发现安装若干个版本的编译器同样出现这个问题,问题如下:..原创 2020-08-01 10:55:39 · 1317 阅读 · 0 评论 -
写述职报告和任务管理方案
1.上午写述职报告。2.下午写任务管理方案3.摄像头适配,用v4l2库来适配相应的图像设置原创 2020-07-30 14:16:27 · 327 阅读 · 0 评论 -
舱端延时显示9999以及出现一次接管后立马退出
1.现象在舱端显示出延时9999,还有就是出现一次接管后闪退。2.分析舱端显示9999,有种可能车端没有把时间戳传给舱端。分析日志发现车端在返回ts时候没有赋值,是在修改版本时候无意把获取时间戳的一段代码给屏蔽掉,导致ts赋值为空。而出现闪退是因为舱端设置的时间延时为1000000ms,车端就会判断消息是延时超过1S,超过就会退出。把时间延时设置为2S应该会大大减少出现这个情况。日志:...原创 2020-07-30 10:31:50 · 274 阅读 · 0 评论 -
经常遇见vehicle_record 中的can记录文件创建失败,导致vehicle_log文件记录的特别多日志,导致cpu占满,无法正常工作。
1.现象车辆接管后再退出出现无法接管,舱端发送任何命令没有反应。2分析打开当时的日志查看发现创建asc文件失败,而在不断的发送或者接收CAN数据,导致一直调用写数据到文本的接口,而接口中又在开头判断是否创建文件asc是否成功,而当不成功时候会进入创建文件asc,这样就会有log日志中写入,而CAN实时的在接收数据,而每当接收一条,而此时的创建文件失败,就又会进入创建新的文件接口,而此时又创建失败,这样进入无限的循环,导致vehicle_log文件也会疯狂的增长,而监控vehicle_log文件的原创 2020-07-29 12:33:28 · 327 阅读 · 0 评论 -
打开文件出现TOO many opon file
一、产生原因too many open files是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数,通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:open files那一行就代表系统目前允许单个进程打开.转载 2020-07-28 20:49:32 · 238 阅读 · 0 评论 -
ubuntu输入法的设置
1.在ubuntu20中没有中文输入法当时挺不方便的2.当时首先准备安装搜狗输入法,但是出现各种依赖关系,按照网上说的方法都试过,都不行后来。3.既然搜狗不行那就用goog的输入法。4.准备按照googsudoapt-get install language-pack-zh-hans5.再输入sudoapt-get installfcitx-googlepinyin6.然后reboot 重启7.在Ubuntu20的右上角有个小键盘,在里面可以配置参考:https:.原创 2020-07-28 13:38:24 · 292 阅读 · 0 评论 -
vehicle工程添加提取vin优化代码
1.添加三次获取vin失败后,就会取上次文件里的vin。在sdcard/neolixinfo.txt中,修改的地方在,controlModules.c vehicleInfo.c中添加getInfoFile() readVinInfoFile(),当时第一次时候readVinInfoFile()是readInfoFile(),但是工程里已经有readVinInfoFile(),所以当时编译时候出错,collect2: error: ld returned 1 exit statusmake: *** [a原创 2020-07-24 18:35:46 · 192 阅读 · 0 评论 -
在字符串后加“\0“都有什么作用
1.可以在使用strlen()时候,可以得到字符串的长度,"\0"表示终止符,当自己写个字符串的时候比如:string AB= "about";当在AB后加上”\0“时候可以用strlen()函数求出字符串长度。原创 2020-07-24 17:09:02 · 1542 阅读 · 0 评论 -
修改时间延时
1.在6.8.2版本上修改原来的mqtt帧之间的延时,原来的是默认2s,现在改为在舱端可配置的时间延时,如果在没有配置参数的情况下vehicle内部会默认为2秒,功能在mqttTimer.c文件中。原创 2020-07-24 10:49:19 · 243 阅读 · 0 评论 -
上海C168车mqtt状态为0,连不上网
1.问题上海C168车mqtt联网状态为0,导致远程加上不了。2.问题分析vehicle 版本是以前的版本,以前的版本的mqtt库是存在问题,导致断线重联不了。3.解决问题把vehicle 版本换成6.8的原创 2020-07-20 11:32:07 · 156 阅读 · 0 评论 -
在if()后面加;导致程序检查不出错误
1.问题描述:在编译vehicle增加上下电任务时候,总是执行解析上下电msg错误,当时认为是不是字段写的有错误,当时检查好几遍,发现字段没有问题,那么为什么会执行解析错误后的代码呢,当时好郁闷,又重新检查错误,发现在在if()后面有个“;”,当时就发现肯定是这个的问题,后来在if()后面加else()就能检查加“;”的错误,如果不加else{}分号还在if();编译器就不会报错,但是加上else{}后 编译器就会报错,后来搞清楚,“;”就是一个空语句,不管if()里面是真是假后面的大括号{}都原创 2020-07-03 13:21:39 · 705 阅读 · 0 评论 -
编译出现:extected =
当时睡一个午觉后编译vehicle6.9竟然出现expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int,把改过的地方都屏蔽掉,编译还是出现这个问题,当时也没有做什么啊,挺头疼的。分析:是powerTimer.h 文件中在;后面多出一个“s” ,瞬间就明白啦,因为我有个习惯,每次写完代码就会按下“ctrl+s",所以有时候按的不同步就会把 s给加上去。...原创 2020-06-29 14:57:25 · 272 阅读 · 0 评论 -
在mqtt后台显示车辆mqtt没在线,但是初始化成功
现象:在mqtt后台查看车辆的mqtt处于离线状态,但是线程打印已经连接成功。分析:mqtt的设备名称和密码是否正确结果:mqtt的设备名称是正式版本,拉下来的mqtt初始化信息是正式版本的,但是星宇那边的版本是测试版本的,所以查看不到,测试版和正式版相对于我这边是mqtt初始化信息的不同,测试板的设备名称:带有test 正式版的带有vehicle例如:{DeviceName":"NeolixVehicle_C30","DeviceSecret":"B9WJpogY0q6JIvT原创 2020-06-08 17:09:48 · 576 阅读 · 0 评论 -
ubuntu vscode 建立工程后找不到文件路径,在头文件下有波浪线
现象:在vscode 建立的工程,包括多个文件夹,同时文件夹下有相应的.c .h文件夹,但是在引用.h文件时候找不到路径,#include “parallelDriving.h”文件时候找不到路径,下面有波浪线,捣鼓一个多小时也没有搞定,后来查资料解决。方法:Ctrl+Shift+P,添加如图然后把把相关的路径加上去,比如在我的工程中有crc文件夹里面有crc.h...原创 2020-06-03 15:03:57 · 4670 阅读 · 0 评论 -
无人车版本号在后台查看有误
现象:在MQTT后台查看车辆的版本号是0.6.2,应该是0.6.7,但是新的程序写的是0.6.7,放在/data/路径下测试:把0.6.6版本放到data/下,重启后在后台查看还是0.6.2,日志还是2020.5.21号的,根本就没有更新日志测试2:查看PDU网络,显示PDU根本没网分析:PDU没有网络,造成版本上报不到后台,根本进入不了修改版本的函数。...原创 2020-06-01 16:00:01 · 314 阅读 · 0 评论 -
2020.5.26 添加在平行驾驶模式下时间延时mqtt时间延时1.5s后退出接管进行刹车保护
1.问题刚开始增加mqtt时间延时1.5s后进行退出接管,退出接管后再次进行接管接管不上原因:当驾驶舱发送takeover命令后,就会等待接管成功,不再发送任何动作指令,而checkfault心跳帧每三秒才发送一次,在这个三秒内又没有新的命令发送,造成vehicle端认为1.5s内延时就会退出接管,造成接管不上,而vehicle端也存在逻辑上的问题,1.5s延时退出接管应该在接管成功后才开始执行,没有在平行驾驶模式下,此段代码不执行。修改:在mqttVehicle.c文件中的judgeT原创 2020-05-27 10:53:29 · 640 阅读 · 0 评论