当前位置:   article > 正文

STM32MP15x TF-A移植_export fip_deploydir_root = /home/qqqq/下载/stm32mp/

export fip_deploydir_root = /home/qqqq/下载/stm32mp/fip_artifacts

1.1 添加自己的开发板

根据所参考的官方开发板创建自己开发板的设备树文件

  1. $ cp ./fdts/stm32mp157f-dk2.dts ./fdts/stm32mp151-custom.dts
  2. $ cp ./fdts/stm32mp15xx-dkx.dtsi ./fdts/stm32mp151-custom.dtsi

1.2 修改stm32mp151-custom.dts文件

#include "stm32mp15xx-dkx.dtsi"

改为:

#include "stm32mp15xx-custom.dtsi"

----

  1. model = "STMicroelectronics STM32MP157D-DK1 Discovery Board";
  2. compatible = "st,stm32mp157d-dk1", "st,stm32mp157";

改为

  1. model = "STMicroelectronics STM32MP157D-Custome Discovery Board";
  2. compatible = "st,stm32mp157d-custom", "st,stm32mp157";

增加nor flash设备树

1.3修改SD卡pinctrl文件

cp stm32mp15-pinctrl.dtsi ./stm32mp15-pinctrl-custom.dtsi

将PC10改为PE6

1.4 我们的ddr3是256Mbytes, 开发板DK2是512Mbytes。

修改stm32mp15xx-100ask.dtsi文件

#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"

//改为

#include "stm32mp15-ddr3-1x2Gb-1066-Custom.dtsi"

内存的修改使用STM32CubeMX生成的设备树,打开STM32CubeMX,新建一个STM32MP157A-DK1开发板的一个工程,点击System view找到DDR单击,目标板是两个16位组成32位所以选择位宽32bits,选择大小4Gb,点击Project Manager选择项目存储位置,然后生成代码。复制生成代码到stm32mp15-ddr3-2x2Gb-1066-binG.dtsi中,注意最后一行包含一个头文件。这里直接附上修改好的代码。

1.5 Makefile.sdk增加编译自己的配置

  1. # Set default TF-A config
  2. TF_A_CONFIG ?=  optee trusted emmc nand nor sdcard   uart usb NMC
  3. ....
  4. # Init default config settings
  5. TF_A_DEVICETREE_Custom?=  stm32mp151_NMC
  6. TF_A_EXTRA_OPTFLAGS_Custom ? = STM32MP_SPI_NOR=1 PSA_FWU_SUPPORT=1 STM32MP_FORCE_MTD_START_OFFSET=0x00080000
  7. TF_A_BINARY_ Custom?= tf-a
  8. TF_A_MAKE_TARGET_Custom ? = all

然后执行:

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

部署:

$> export FIP_DEPLOYDIR_ROOT=$PWD/../../FIP_artifacts

$> make -f $PWD/../Makefile.sdk DEPLOYDIR=$FIP_DEPLOYDIR_ROOT/arm-trusted-firmware all 

在以下路径中能找到生成的stm32文件

sources\arm-ostl-linux-gnueabi\FIP_artifacts\arm-trusted-firmware

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号