当前位置: 首页 > news >正文

ST官方基于米尔STM32MP135开发板培训课程(一)

本文将以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,设备树结构:

NoteSTM32CubeMX的规则是先生成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
PC $> ln  -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/tf-a/* fdts/

  • OP-TEE:

PC $> cd
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 
PC $> ln  -s /local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/u-boot/* arch/arm/dts/

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

http://www.lryc.cn/news/104006.html

相关文章:

  • 组件(lvs,keeplive,orm,mysql,分布式事务)
  • 《视觉SLAM十四讲》报错信息和解决方案
  • golang 设置http请求代理
  • 我的会议(会议通知)
  • css实现水平居中
  • c刷题(一)
  • webpack
  • 反复 Failed to connect to github.com port 443 after xxx ms
  • ARM裸机-11
  • centos7升级glibc
  • 【OnnxRuntime】在linux下编译并安装C++版本的onnx-runtime
  • C#基于OpenCv(OpenCvSharp) 的 fftshift, ifftshift 函数的实现
  • 【SpringBoot】笔记2
  • Spring事务传播机制详细讲解
  • kubernetes 集群搭建(kubeadm 方式)
  • 基于ARM+FPGA的驱控一体机器人控制器设计
  • docker 安装 字体文件
  • Vue.js与ASP.NET的结合,实现企业级应用的开发和部署
  • Uncaught SyntaxError: ‘‘ string literal contains an unescaped line break
  • Vue3+Vite+TypeScript常用项目模块详解
  • 数字电路(一)
  • Oracle也有回收站
  • 投稿注意!APA格式超全示例详解,原本28天能录用,可能要拖延2个月
  • 【Python】Web学习笔记_flask(1)——模拟登录
  • css单行文本省略号多行文本省略号
  • 信号槽中的函数重载
  • 计算机视觉(五)深度学习基础
  • ES6学习-Generator
  • Flowable-服务-微服务任务
  • opencv03-补充-vector的操作