本文仅为自己在调试过程中的记录,如有不对地方欢迎讨论:853906167@qq.com
概述:
最近接手一个类似Tbox的车载联网系统项目,作为自动驾驶系统上的联网、诊断、传感器输入等辅助功能,同时上面接了IMU330/Ublox/camera/switch/phy/hsm/4G5G/WIFI/BT/V2X等模块,公司原本是采购的其他供应商的成品,目前公司想自己开发做到全线可控。
主控:imx8qxp_c0(4核A35) DDR4:3GB EMMC:32GB
1.资源和开发方式
imx8qxp版本平台信息为4.14.98_2.3.2,可以基于该版本开发也可以使用最新版本,我是使用这个版本开发,没有使用最新版本
nxp资源获取:Embedded Linux for i.MX Applications Processors | NXP Semiconductors
下拉页面找到相应的Linux 4.14.98_2.3.0条目有详细的资源:

开发方式:
1.yocto 方式 ----拉取、下载、配置、编译代码涉及较多配置项,代码下载编译需要解决很多问题(最好通过代理下载),编译也需要在指定ubuntu版本,第一次需要比较长的时间
2.源码方式开发 ----只需要下载相应的uboot/linux_kernel/toolchain/工具即可,首推该方式,这样后续通过repo分别管理uboot/kernel/tools/toolchain/usrfs也比较方便
note:yocto方式也需要掌握后续的制作rootfs、获取交叉工具链就是基于yocto方式来操作的
uboot源码下载:
1.git clone uboot-imx - i.MX U-Boot -b imx_v2018.03_4.14.98_2.0.0_ga
2.git tag 可以查看选择相应的tag 这里我们选择 rel_imx_4.14.98_2.3.2_patch
3.git checkout -b rel_imx_4.14.98_2.3.2_patch
kernel源码下载:
1.git clone linux-imx - i.MX Linux kernel -b imx_4.14.98_2.0.0_ga
2.git tag 可以查看选择相应的tag 这里我们选择 rel_imx_4.14.98_2.3.2_patch
3.git checkout -b rel_imx_4.14.98_2.3.2_patch
工具链:
工具链脚本sh执行一下就会在/opt目录下生成相关文件,需要编译的时候可以source 下/opt/下的env就可以了
iMX8QXP B0和C0区别:
我们目前使用的Tbox上的imx8qxp是使用的C0版本,这个影响到很多地方,前期因为这个问题踩了很多坑,简单来说C0是修复了很多B0版本报的问题,更新更稳定,nxp官网提供了C0/B0的差异和相关的patch:https://www.nxp.com.cn/docs/en/application-note/AN12770.pdf
软件层面最主要的差异是1.制作bootloader文件flash.bin的时候需要编译C0版本2.uboot的复位起始地址不一样,C0对应的是0地址
2.U-boot
概述:
在linux开发中,一个完整的Linux系统包含Bootloader,Lin

最低0.47元/天 解锁文章
6350

被折叠的 条评论
为什么被折叠?



