stm32系统移植(1)

文章目录

    • 交叉编译工具安装
    • Uboot 源码编译
      • 导入配置文件
      • 编译源码
    • tf-a 源码编译
      • trusted
      • optee
      • optee trusted
    • optee-os编译
    • Linux源码编译
      • 编译设备树
      • 编译内核模块
    • Yocto构建系统
      • 导入编译配置
      • 编译

交叉编译工具安装

导入sdk 并查看安装是否正确
在这里插入图片描述

Uboot 源码编译

导入配置文件

make stm32mp15_trusted_defconfig

编译源码

make DEVICE_TREE=stm32mp157a-fsmp1a all

编译完成后得到u-boot.img
在这里插入图片描述

tf-a 源码编译

trusted

make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157a-fsmp1a TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all

编译成功后生成build目录,build/trusted/下的即为烧写镜像
stm32系统移植(1)_第1张图片

optee

make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157a-fsmp1a TF_A_CONFIG=optee ELF_DEBUG_ENABLE='1' all

在这里插入图片描述

optee trusted

make -f $PWD/../Makefile.sdk all

optee-os编译

make -f $PWD/../Makefile.sdk CFG_EMBED_DTB_SOURCE_FILE=stm32mp157a=fsmp1a

编译成功后生成的xxx.stm32即是烧写镜像
在这里插入图片描述

Linux源码编译

导入配置文件

make stm32_fsmp1a_defconfig

如需修改配置

make menuconfig

编译内核镜像

make -j4 ARCH=arm uImage vmlinux LOADADDR=0xC2000040

提示编译出错
stm32系统移植(1)_第2张图片
安装libyaml-dev
重新编译
stm32系统移植(1)_第3张图片
安装libssl-dev
重新编译

在arch/arm/boot/目录下生成uImage文件
在这里插入图片描述
在源码目录下生成用于调试的vmlinux文件
在这里插入图片描述

编译设备树

make ARCH=arm dtbs

arch/arm/boot/dts/下即为生成的设备树文件

编译内核模块

make ARCH=arm modules
make ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_install

Yocto构建系统

导入编译配置

DISTRO=openstlinux-weston MACHINE=fsmp1a source layers/meta-farsi
ght/scripts/envsetup.sh

如果出错,提示使用clean shell,则重新打开一个shell界面。
出现如下界面,(如果未出现是缺少gui显示的一些包,也可以用命令行输入y)
stm32系统移植(1)_第4张图片
stm32系统移植(1)_第5张图片

编译

bitbake fs-mp1a-weston

你可能感兴趣的:(stm32,单片机,arm)