笔者计划是基于这款ATK-DLIMX93
开发板研究网关系列的产品。要想进行开发,首先就要拿到SDK,NXP官方有完整版的yocto SDK,另外正点原子开放了他们基于NXP官方SDK修改的内核以及uboot源码。NXP官方SDK是用repo拉下来的,其地址如下
https://github.com/nxp-imx/imx-manifest
使用如下命令行可以下载整个工程
下载好的文件夹就是一个source目录,加上几个脚本。如下所示
nxp的linux sdk一直以来都是基于yocto的,这个yocto非常难用,相比起buildroot来说,其裁剪困难,没有图形化配置工具
介绍一下其目录。
source目录下面有如下内容
这里面meta-imx meia-freescale等文件夹是nxp提供的,相当于是基于其处理器特制的一些软件包
其余几个是yocto工程里面本身就有的通用软件包
然后nxp提供了一个imx-setup-release.sh脚本,用于在conf文件里面增加nxp的软件包。
首先要编译一个能跑起来的版本,打通编译的流程。然后再进一步进行相关功能的调试。
一般的虚拟机是不具备编译整个yocto所需的主机环境的,yocto为此提供了一个方法。执行
sources/poky/scripts/ install-buildtools
脚本,即可安装一堆的软件到poky/buildtools/sysroots目录下
然后执行(注意点后面有一个空格)
. [yocto目录]/poky/buildtools/environment-setup-x86_64-pokysdk-linux
即可将这些软件的路径放到PATH环境变量下。
按照NXP的文档,首先执行如下命令
DISTRO=MACHINE= source imx-setup-release.sh -b
其中可以选择meta-imx/meta-sdk/conf/distro下面的,比如fsl-imx-wayland
这几个区别如下
可以选择meta-imx/meta-imx-bsp/conf/machine下面的,比如imx93evk
自行指定一个目录即可,如果不指定,默认是build目录
执行完之后,会在下面生成一个conf文件夹,内容如下
然后执行
bitbake core-image-minimal
即可开始构建
经过漫长的等待,可以在下deploy/images/imx93evk路径得到一个打包好的固件
名为
core-image-minimal-XXXXXX.wic.zst
此文件可以用NXP的烧录工具烧录到板上,烧录方法下一节介绍