经历过本人实际测试智行者IC SDK v2.3.0,遭遇过环境变量怎么都不产生预计效果的状况,新手依照步骤逐个进行操作,便能够轻易躲开这类常见的问题。 1 打开终端配置交叉编……
经历过本人实际测试智行者IC SDK v2.3.0,遭遇过环境变量怎么都不产生预计效果的状况,新手依照步骤逐个进行操作,便能够轻易躲开这类常见的问题。
1 打开终端配置交叉编译环境
路径是,/opt/zhixing_ic/toolchain/bin先,执行source set_env.sh这一动作,再输入arm-zhixing-linux-gcc -v进行验证。关键参数IC_TOOLCHAIN_PATH,其推荐值为/opt/zhixing_ic,原因在于要防止多版本出现冲突,并且系统会自动去检索底层库。
【新手需防】 常见出现报错“command not found”,缘由是未曾添加export PATH=$PATH:/opt/zhixing_ic/toolchain/bin。关键出错之处:脚本仅仅设置临时变量。迅速解决办法:手动写入至~/.bashrc,而后source。
2 编译官方示例项目并烧录
你需要进行这样一系列操作,首先是进入到特定目录,也就是执行“cd~/ic_workspace/samples/led_blink ; ”,接着去修改Makefile里的CC路径成为上述所提到的工具链;然后要执行依次执行两条命令了,先是“make clean”,紧接着执行“make -j4”。以特定命令进行烧录操作,该命令为:针对芯片闪存工具,指定连接端口为 /dev/ttyUSB0,设置波特率为 115200,指定要烧录的文件为 ./build/led.bin。
【新手需留意避开的坑】,出现了报错情况,提示为“No such file or directory”,然而文件实际上是存在的,这是因为在 -f 参数后面多了空格,正确的写法应该是 -f./build/led.bin。当擦除遭遇失败的时候,要先执行 ic – flash – tool -e ,之后再进行重试。
3 调试串口输出与参数调优
如下进行串口连接:使用minicom -D /dev/ttyUSB1 -b 115200,之后输入ic_log level 3。针对两种方案展开对比:动态库libic_hal.so,其具有节省空间的特点,适合用于量产啦;静态库libic_hal.a,它调试起来较为方便,很适合用于原型哟。选动态库需额外复制.so到/lib,静态库直接链接无依赖。
新手要避开风险,当串口没有输出情况出现时,要去认真查看线程优先级,推荐的数值是5,其范围在0到7之间。要是设置成7,就会使得低优先级的任务被阻塞,而要是设置成3,那么就会出现响应延迟的状况。完整呈现的报错 Error: HAL timeout 的原因是,优先级处于过低的状态从而导致通信出现超时现象。一站式予以解决:将杀所有名为 ic_daemon 的进程,即 killall ic_daemon 动作施行以后,接着向外导出名为 IC_PRIO 的变量且赋值为5,也就是 export IC_PRIO=5 的操作,随后重启相关服务,最后再次运行名为 ic_daemon 的程序并使其在后台运行,即 ic_daemon -d。
这种方式适宜SDK v2.3.0官方镜像,要是运用v1.x或者第三方改造版本,环境路径存有差异,提议首先通过find / -name”set_env.sh”来查找脚本。你在实际测试的时候还碰到过哪些怪异报错?在评论区进行分享,点赞达到一百我特地撰写一篇排坑合集。
微信扫一扫
还没有评论呢,快来抢沙发~