1 源码获取
米尔科技针对MYD-YF13X 开发板提供两种获取源码的方式,一种是直接从米尔光盘镜像中获取压缩包,另外一种是使用 repo 获取位于 github 上实时更新的源码进行构建。
笔者这里直接从光盘镜像获取源码压缩包并将其拷贝到用户目录并解压。
$ tar -xvf yf13x-yocto-stm32mp1-5.15.67.tar.bz2
其解压目录如下所示。

当然也可以从github拉取代码:
$ repo init -u https://github.com/MYiR-Dev/myir-st-manifest.git --no-clone-bundle --depth=1 -m myir-stm32mp1-kirkstone.xml -b develop-yf13x
$ repo sync
2 编译开发板镜像
不同的开发板器配置会有不同。
规格型号如下表所示。
核心板产品型号 |
主芯片 |
内存 |
存储器 |
工作温度 |
MYC-YF135-256N256D-100-I |
STM32MP135DAF7 |
256MB DDR3L |
256MB Nand Flash |
-40℃~+85℃ |
MYC-YF135-4E512D-100-I |
STM32MP135DAF7 |
512MB DDR3L |
4GB eMMC |
-40℃~+85℃ |
笔者使用的核心板型号是MYC-YF135-256N256D-100-I。
$: DISTRO=openstlinux-weston MACHINE=myd-yf13x-nand source layers/meta-myir-st/scripts/envsetup.sh

执行上述脚本会检查环境,如果提示有未安装的软件包,安装后再次执行即可。
执行成果会创建一个构建目录build-openstlinuxweston-myd-yf13x-nand。
笔者使用的核心板型号是MYC-YF135-256N256D-100-I。只有myir-image-core可选。带 lvgl 的 demo,整体编译镜像执行 bitbake myir-image-core。
Bitbake 部分常用命令如下表所示:
Bitbake****参数 |
描述 |
-k |
有错误发生时也继续构建 |
-c cleanall |
清空整个构建目录 |
-c fetch |
从recipe中定义的地址,拉取软件到本地 |
-c deploy |
部署镜像或软件包到目标rootfs内 |
-c compile |
重新编译镜像或软件包 |
进入build-openstlinuxweston-myd-yf13x-nand目录下,执行以下命令:
$ bitbake myir-image-core -k

注意:构建过程中下载大量的包资源,为了节约时间,推荐使用 myir 打包好的资源Yocto-qt-downloads.tar.xz 解压到 downloads
等待系统构建完成后,在" build-openstlinuxweston-myd-yf13x-nand/tmp-glibc/deploy/images/myir "目录下生成各种格式的系统镜像文件。
FlashLayout_sdcard_myb-stm32mp135x-256m-optee.zip和FlashLayout_spinand-256-256_myb-stm32mp135x-256m-optee.tsv等文件就是我们需要的镜像文件。
到此,系统构建的基本过程就完成了,接下来就可将镜像烧写到开发板了。笔者在前文已经讲述过系统镜像的烧写过程。