Yocto 编译完成后的文件使用以及uuu烧录方法

yocto在编译完成后会生成很多文件,位置在<work dir>/<build dir>/tmp目录下

下面介绍一些常用的文件使用

 

下面这些是我在新建yocto工程的时候使用的变量,大家可以对应一下自己的名字

<work dir>是imx-yocto-bsp

<distro name>是fsl-imx-xwayland

<machine name>是imx8qxpmek

<build dir>是build-xwayland

 

kernel源码位置

~/imx-yocto-bsp/build-xwayland/tmp/work-shared/imx8qxpmek/kernel-source

 

u-boot源码位置

~/imx-yocto-bsp/build-xwayland/tmp/work/imx8qxpmek-poky-linux/u-boot-imx/1_2020.04-r0/git

如果找不到此文件夹 单独编译部署u-boot即可

bitbake -c compile u-boot -f 

bitbake -c deploy u-boot

 

rootfs

~/imx-yocto-bsp/build-xwayland/tmp/work/imx8qxpc0mek-poky-linux/imx-image-full/1.0-r0/rootfs

如果没有则删除conf文件中的INHERIT += "rm_work" ,重新执行

bitbake imx-image-full

 

 

yocto环境下单独编译u-boot

cd imx-yocto-bsp
source setup-environment build-xwayland
bitbake -c cleansstate u-boot
bitbake -c compile u-boot -f
bitbake -c deploy u-boot
bitbake imx-image-full

生成镜像文件在如下位置

build-xwayland/tmp/deploy/images/imx8mqevk/imx-boot-imx8mqevk-sd.bin

 

yocto环境下单独编译内核

cd imx-yocto-bsp
source setup-environment build-xwayland
bitbake linux-imx -c compile -f
bitbake linux-imx -c compile_kernelmodules -f     
bitbake -c deploy -f linux-imx //部署文件到deploy文件夹
bitbake  imx-image-full //重新部署映像

⽣成镜像⽂件在如下位置:

build-xwayland/tmp/work/imx8mqevk-poky-linux/linux-imx/4.9.88-r0/build/arch/arm64/boot/Image

 

工具链制作

cd imx-yocto-bsp
source setup-environment build-xwayland
bitbake imx-image-full -c populate_sdk //编译目标为imx-image-full的工具链

生成文件在build-xwayland//tmp/deploy/sdk 下

安装工具链

执⾏命令

./fsl-imx-xwayland-glibc-x86_64-meta-toolchain-aarch64-toolchain-4.9.88-2.0.0.sh

结果

在生成了工具链之后实际上就可以脱离yocot开发了,毕竟yocto的编译速度实在是太慢了。具体u-boot、kernel编译方法可以咨询NXP FAE。

 

 

烧录

在build-xwayland/tmp/deploy/images/imx8qxpc0mek的目录下有一些格式是这样的文件

这些文件可以直接通过uuu工具下载到板子上。

例如想下载到emmc中,可以使用以下命令

uuu -b emmc_all  imx-boot-imx8qxpmek-sd.bin-flash  imx-image-full-imx8qxpc0mek.wic.bz2

还有一些其他用法可以参考以下网址

uuu工具下载地址:https://github.com/NXPmicro/mfgtools/releases

uuu工具使用说明:https://github.com/NXPmicro/mfgtools/wiki/Example

如果下载失败,且硬件上没有问题,就需要考虑自己制作的板子是否与官方开发板的设计有所不同,如果不同需要具体咨询NXP FAE。具体可能是内存的不同、使用的usb烧录口不同等等。

 

除了直接使用yocto编译出来的软件包之外,我们还可以使用官方提供的脚本分别对u-boot、内核、文件系统等进行烧录。

首先进入这个网址https://www.nxp.com.cn/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=Design_Tools_Tab

选择所需要BSP软件包,软件包内有编译完成uboot、内核、设备树以及完整的下载包。我们只需要里面的官方uuu脚本。

例如我需要的是5.4.24的软件包,下载后解压samples文件夹下有这些文件

我们可以根据存储器件选择对应的脚本。

打开文件example_kernel_emmc.uuu 。

文件开始,我们可以看到这个脚本需要的文件,只要将脚本需要的文件放入相同目录后,执行uuu example_kernel_emmc.uuu即可进行下载。

同样的我们也可以修改脚本文件,选择哪个文件需要烧录,哪个不需要烧录,屏蔽脚本中的一些代码即可实现。

 

 

 

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值