STM32MP157C-DK2学习记录(自用)

一、准备Ubuntu环境

(已完成)

二、制作交叉编译链工具

使用crosstool工具制作适配于cortex-A7的交叉编译工具
(已完成)

三、准备STM32MP1工具包

  1. STM32Cube-Programmer——通过USB给STM32MP157下载编译好的内核
  2. STM32MP1DEV下载地址——官方Linux内核源码开发包
  3. fiptool工具
  4. stm32wrapper4dbg工具下载地址
  5. 。。。

四、Linux系统搭建——TF-a部分

  1. 进入tf-a源码文件,给文件打patch
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
  1. 使用上级目录的Makefile.sdk进行编译
    使用文本打开上级目录的Makefile.sdk,修改交叉编译工具
    CROSS_COMPILE=arm-cortexa7-linux-(自己的交叉编译工具)
    修改fiptool-stm32 改为fiptool(自己下载)
make编译
make -f ../Makefile.sdk all
  1. 编译得到待处理文件
    1.deploy/tf-a-stm32mp157c-dk2-usb.stm32
    2.deploy/tf-a-stm32mp157c-dk2-sdcard.stm32
    3.deploy/metadata.bin
    4.bl32/tf-a-bl32-stm32mp15.bin(u-boot备用)
    5.bl32/stm32mp157c-dk2-bl32.dtb(u-boot备用)
    6.fwconfig/stm32mp157c-dk2-fw-config-trusted.dtb(u-boot备用)

五、Linux系统搭建——U-boot部分

  1. 进入u-boot源码,给文件打patch
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done
  1. 进入makefile文件,修改交叉编译工具
CROSS_COMPILE ?= arm-cortexa7-linux-(自己的交叉编译工具)
  1. 手动编译u-boot
设定outfile目录
export KBUILD_OUTPUT=./output/files/
配置启动版本:
make stm32mp15_basic_defconfig
make stm32mp15_trusted_defconfig
配置编译DK2板设备树
make DEVICE_TREE=stm32mp157c-dk2 all
  1. 编译过程中可能会报错,缺什么就安装什么
  2. 编译得到待处理文件
    1. u-boot.dtb
    2. u-boot-nodtb.bin
  3. 使用fiptool工具进行打包
fiptool create --tos-fw tf-a-bl32-stm32mp15.bin --nt-fw u-boot-nodtb.bin --fw-config stm32mp157c-dk2-fw-config-trusted.dtb --hw-config u-boot.dtb --tos-fw-config stm32mp157c-dk2-bl32.dtb fip.bin

获得文件 fip.bin
官方参考(仅供参考)
How to configure TF-A FIP

六、Linux系统搭建——kernel部分

  1. 进入kernel源码文件,打patch,声明交叉编译工具
for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

export CROSS_COMPILE=arm-cortexa7-linux-
  1. 创建build目录:
mkdir -p ../build
  1. 生成默认配置文件.config:
make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config
  1. 编译内核
make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 O="$PWD/../build"
  1. 编译模块
make ARCH=arm modules O="$PWD/../build"
  1. 。。。

七、下载代码,启动Linux

  1. 准备**.tsv**文件(从官方镜像copy)
  2. 加载自己编译好的文件在这里插入图片描述
    注:第一二行作用:先通过usb下载bootloader程序启动stm32mp1,启动后将接下来的代码下载到sd卡中。当修改stm32mp157的启动模式后(从sd卡启动)程序从fsbl1开始run
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值