ST意法半导体
直播中

李丹

7年用户 1471经验值
私信 关注
[问答]

如何使用STM32MP157F-EV1来尝试实施安全启动链?

你好ST社区,

对于一个项目,我们使用 STM32MP157F-EV1 来尝试实施安全启动链。为此,我们必须生成一个包含所有必需证书的 FIP 包。

ST wiki中提出了两种方法:

  • 一个使用 FipTools 和 cert_create
  • 使用 TF-A make 系统生成 FIP。

第二种方法在我这边不起作用。我有一个构建错误。这是我的作案手法:

  • 获取 STM32MP1 工具链
  • ./opt/st/stm32mp1/3.1-openstlinux-5.10-dunfell-mp1-21-03-31/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

  • 转到 TF-A 源目录
  • cd /stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.4.r1-r0/tf-a-stm32mp-2.4.r1

  • 按照 wiki 中的指定启动 TF-A 的构建:
  • make ARM_ARCH_MAJOR=7 ARCH=aarch32 PLAT=stm32mp1         MBEDTLS_DIR=~/mbedtls  
  • AARCH32_SP=sp_min  
  • BL33=../../u-boot-stm32mp-2020.10.r1-r0/deploy/u-boot-nodtb-stm32mp15.bin BL33_CFG=../../u-boot-stm32mp-2020.10.r1-r0/deploy/u-boot-stm32mp157f-ev1-trusted.dtb  
  • DTB_FILE_NAME=stm32mp157f-ev1.dtb         TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ROT_KEY=

  • 构建输出是:
  • Including bl32/sp_min/sp_min.mk  LD   /home/ag/STM32mp1_Ecosystem_5.10/Developer_Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.4.r1-r0/tf-a-stm32mp-2.4.r1/build/stm32mp1/release/bl32/bl32.elfarm-ostl-linux-gnueabi-ld.bfd:
  • unrecognized option '-Wl,-O1'arm-ostl-linux-gnueabi-ld.bfd: use the --help option for usage informationmake:
  • *** [Makefile:1122: /home/ag/STM32mp1_Ecosystem_5.10/Developer_Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-03-31/sources/arm-ostl-linux-gnueabi/tf-a-stm32mp-2.4.r1-r0/tf-a-stm32mp-2.4.r1/build/stm32mp1/release/bl32/bl32.elf] Error 1
这个输出让我觉得应该给 GCC 的 LDFLAGS 直接给了 LD。有谁知道为什么这个程序不起作用?

回帖(1)

杨颜

2022-12-27 10:49:40
取消设置 LDFLAGS;
取消设置 CFLAGS;
举报

更多回帖

发帖
×
20
完善资料,
赚取积分