完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

完美体育·(中国)手机网页版 > 公司新闻 > ST官方基于完美体育·(中国)手机网页版STM32MP135开发板培训课程(一)

ST官方基于完美体育·(中国)手机网页版STM32MP135开发板培训课程(一)

文章来源: 发布日期:2023.7.27 浏览次数:635 次
本文将以Myirtech的MYD-YF13X以及STM32MP135F-DK为例,讲解如何使用STM32CubeMX结合Developer package实现最小系统启动。


1.开发准备
1.1 Developer package准备
a.Developer package下载:
‍https://www.st.com/en/embedded-software/stm32mp1dev.html‍
b.解压后进入source目录: 
 
c.源码准备(可以根据每一个source目录下的README.HOW_TO.txt中第三点准备):
  • TFA源码
$> cd tf-a-stm32mp-v2.6-stm32mp-r2-r0 $> tar xf tf-a-stm32mp-v2.6-stm32mp-r2-r0.tar.xz$> cd tf-a-stm32mp-v2.6-stm32mp-r2$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

  • OP-TEE源码
$> cd optee-os-stm32mp-3.16.0-stm32mp-r2-r0$> tar xf optee-os-stm32mp-3.16.0-stm32mp-r2-r0.tar.xz$> cd optee-os-stm32mp-3.16.0-stm32mp-r2$> tar xf ../fonts.tar.gz$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done

  • U-Boot源码
$> cd u-boot-stm32mp-v2021.10-stm32mp-r2-r0$> tar xf u-boot-stm32mp-v2021.10-stm32mp-r2-r0.tar.xz$> cd u-boot-stm32mp-v2021.10-stm32mp-r2$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done 

  • Kernel源码
$> cd linux-stm32mp-5.15.67-stm32mp-r2-r0$> tar xf linux-5.15.67.tar.xz$> cd linux-5.15.67$> for p in `ls -1 ../*.patch`; do patch -p1 < $p; done


1.2 SDK安装

请阅读WIKI完成 Install_the_SDK。

1.3 STM32CubeProgrammer安装

请根据WIKI给出的命令/步骤安装 CubeProgrammer and libusb installation。

2.原理框图

首先看一下Myirtech的原理图框架:
 
从原理框图中可以得出以下硬件配置信息:
1.STM32MP135DAF7
2.DDR3L
3.分离式电源设计
4.支持QSPI NAND,SD卡启动
5.双千兆以太网口
6.USB Host
7.USB OTG (烧录用)
8.UART4 debug串口
9.外部时钟源,HSE(24MHz),LSE(32.768KHz)

3. STM32CubeMX项目创建

打开STM32CubeMX, 根据芯片的part number选择正确的芯片封装开始项目创建,例如:Myirtech使用的是STM32MP135DAF7,
 
点击“Generate Code”之后会生成一个近乎空的project,设备树结构:
 
Note: STM32CubeMX的规则是先生成Kernel的dts, 然后将生成的dts文件拷贝到u-boot目录下,也就是说u-boot的设备树stm32mp135d-myir_bring_up-mx.dts是从kernel目录拷贝过来的,所以在U-Boot阶段修改设备树,添加User code时,请同步修改kernel的设备树或者将修改好的设备树拷贝到Kernel目录,防止下次使用CubeMX生成设备树的时候,u-boot部分的修改被kernel未修改的设备树覆盖。
创建设备树软链接:
  • TFA: 
PC $> cd <tf-a-stm32mp-v2.6-stm32mp-r2_path>PC $> ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/tf-a/* fdts/

  • OP-TEE:
PC $> cd <optee-os-stm32mp-3.16.0-stm32mp-r2_path>PC $> ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/optee-os/* core/arch/arm/dts/
 
  • U-Boot:
PC $> cd <u-boot-stm32mp-v2021.10-stm32mp-r2_path>PC $> ln -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/u-boot/* arch/arm/dts/


培训资料未完,请关注下一期文章。