实测智行者IC – SDK v2.0,1版本时,本人曾遭遇社区仓库代码编译中,依赖缺失的状况,并成功踩坑。不过新手若能依照步骤逐一操作,便可轻易避开此类常规问题。 步骤……
实测智行者IC – SDK v2.0,1版本时,本人曾遭遇社区仓库代码编译中,依赖缺失的状况,并成功踩坑。不过新手若能依照步骤逐一操作,便可轻易避开此类常规问题。
步骤1 下载社区资源包的正确姿势
操作的路径是,先去访问智行者开发者社区,接着进入资源中心,再找到IC系列,然后从中选择“IC-SDK-v2.0.1”,之后点击那个“下载源码”按钮。参数方面,一定要勾选“包含子模块”选项,与此同时还要保证网络处于稳定状态。
【新手避坑】
较为常见的报错情况是,在进行下载操作之后,编译时出现提示,提示内容为“fatal error: hal/ic_hal.h: No such file or directory”。而核心的出错缘由在于,没有进行递归式的下载子模块的操作。有一种能快速解决问题的办法,那就是用git clone这个命令,并带上–recursive这个参数,去https://github.com/zhi行者/IC-SDK.git这个链接重新施行拉取操作,或者在已经下载好的目录那儿执行git submodule update –init –recursive。
步骤2 配置编译环境的关键参数
操作的路径是,先进入到源码的根目录,接着把config.mk文件打开,然后去找到CROSS_COMPILE变量,最后对工具链前缀进行设置。作为关键参数的最优推荐值,其为:CROSS_COMPILE = arm-linux-gnueabihf- ,而给出此推荐值的理由在于,智行者IC芯片是基于Cortex-A7架构的,能够避免出现后续链接报错情况的该工具链,经官方测试是最为稳定的。
【新手避坑】
平常会出现的报错情形为,提示“arm-linux-gnueabihf-gcc: command not found”。其缘由在于,系统里边没有安装交叉编译工具链。解决办法是,先执行sudo apt update && sudo apt install gcc-arm-linux-gnueabihf,在完成安装操作之后,去执行arm-linux-gnueabihf-gcc –version进行验证。
步骤3 编译并烧录固件
动作流程如下,先是在终端内部执行make clean这个操作随即又执行make -j4 ,接着会生成ic_firmware.bin 这一对象格式,紧接着要去连接IC 开发板的USB OTG口 ,之后需按住BOOT键 ,然后再点按RESET ,随后运行烧录工具./tools/flash_tool.sh ,再接着选择固件路径 ,最后点击“Start”呀。固定参数:烧录地址0x8000000。
【新手避坑】
常见出现的报错情况是,烧录遭遇失败,并且提示显示为“USB device not found”。其背后的原因在于,驱动存在未被安装的状况,或者是没有正确地进入到烧录模式。提供一站式解决办法:首先进行复制驱动规则的操作,即使用sudo cp tools/99-openic.rules /etc/udev/rules.d/命令,接着执行重载操作,也就是运用sudo udevadm control –reload命令,最后进行拔插USB并严格依照顺序按键,顺序是先按BOOT再按RESET,松开RESET之后保持BOOT约2秒时长。
两种实操方案对比
存有方案一对直接运用社区预编译的libic_hal.a而言,其具备不用等待编译、能够快速验证这样的优点,不过存在定制参数被锁死的缺点。计划二是进行从源码全量编译,此方案的好处在于能调节优化内存池大小等底层配置,相应的不足之处是单次耗时大概15分钟。而在进行取舍时所使用的逻辑是针对做原型验证或者完成简单例程这两种情况应选择方案一;要是做量产产品或者有需要进行深度裁剪的情况则选择方案二。
高频报错一站式解决
碰到了出现完整报错的情况,具体为undefined reference to ‘ic_hal_spi_init’,其原因在于,在进行链接操作的时候,遗漏了hal库。找寻解决办法:开启Makefile,于LDFLAGS之后增添-lic_hal -L$(SDK_PATH)/lib,进行保存操作后再度执行make clean && make。
此方法经实际测试,仅仅适用于智行者IC – SDK v2.0以及比它更高的版本,并不适用于v1.x版本这般的旧版,因为其API头文件路径存在差异。要是你现在仍旧在使用旧版,那么建议你直接将其升级到v2.0,或者前往社区wiki去查找“v1.x迁移指南”,然后手动去修改代码。你手上所使用的是哪一个版本的SDK呢?在进行编译或者烧录的时候遇到其他奇怪棘手的报错了吗?欢迎留下信息进行分享,我会抽时间来帮你瞧瞧。
微信扫一扫
还没有评论呢,快来抢沙发~