首页 > 其他分享 >ST官方基于米尔STM32MP135开发板培训课程(一)

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

时间:2023-07-27 19:12:16浏览次数:53  
标签:stm32mp r2 tar bring patch 开发板 cd STM32MP135 ST

本文将以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.STM32MP135DAF72.DDR3L3.分离式电源设计4.支持QSPI NAND,SD卡启动5.双千兆以太网口6.USB Host7.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
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/

 

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

标签:stm32mp,r2,tar,bring,patch,开发板,cd,STM32MP135,ST
From: https://www.cnblogs.com/cbd7788/p/17585811.html

相关文章

  • fluent elasticsearch6 fluent-plugin-elasticsearch install
    一、安装fluent-plugin-elasticsearch编写DockerfileFROMfluent/fluentd:v1.12.0-debian-1.0USERrootRUNgemuninstall-Ielasticsearch&&geminstallelasticsearch-v6.8.0RUN["gem","install","fluent-plugin-elasticsearch&qu......
  • 2023.7.27 周四:static
    1publicclassStudent{2privateintage;//非静态变量3privatestaticintscore;//静态变量4publicvoidrun(){56}7publicstaticvoidgo(){89}1011publicstaticvoidmain(String[]args){12Stud......
  • String转Map java
    String转Mapjava实现步骤1.理解需求在开始编写代码之前,我们需要明确我们的需求是什么。在这个任务中,我们需要将一个字符串转换为一个Java中的Map对象。字符串的格式可能是键值对的形式,比如"key1=value1;key2=value2",我们需要将其转变为一个Map对象,其中键是字符串中的键名,而值是......
  • String mobleCode = redisTemplate.opsForValue().get(phone);
    使用RedisTemplate获取手机验证码在现代的应用程序中,手机验证码被广泛用于用户身份验证和安全验证。使用手机验证码可以确保用户提供的手机号是有效的,并且可以防止恶意行为。在本文中,我们将介绍如何使用SpringDataRedis中的RedisTemplate来获取手机验证码。RedisTemplate简介R......
  • Still waiting to schedule task ‘nodejs-html5’ is offline
    运行任务时等待节点在线的解决方案在进行分布式任务调度时,我们可能会遇到一个问题:当一个节点不在线时,我们如何等待节点上线再执行任务?本文将介绍如何使用Node.js编写代码实现此功能。问题描述假设我们有一个任务调度程序,使用Node.js编写。在这个任务调度程序中,我们有一个名为nod......
  • Starting MySQL.Logging to '/data/mysql8/data/zwzxzkptapp.err'. . ERROR! The
    实现MySQL日志文件路径修改1.了解MySQL日志文件MySQL服务器在运行时会产生多个日志文件,其中包括错误日志、查询日志、二进制日志等。每个日志文件都有一个特定的作用和存储路径。2.修改MySQL错误日志文件路径在MySQL中,错误日志文件用于记录MySQL服务器的错误信息。默认情况下......
  • StackExchange.Redis服务
    StackExchange.Redis服务简介StackExchange.Redis是一个用于.NET平台的Redis客户端库。它提供了连接和与Redis服务器进行交互的功能,并且具有高性能和易用性。Redis是一个开源的内存数据存储系统,被广泛用于缓存、消息队列、会话存储等应用场景。StackExchange.Redis服务允许开发......
  • 【报错修复】HRESULT: 0x80070057 The library hostfxr.dll was found, but loading i
    我写了一个winform程序,拷贝到win7系统上,提示需要下载.net给的链接是https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=win7-x64&apphost_version=5.0.3&gui=true这台win7上不了网我用win10下载了这个链接的桌面运行时windowsdesktop-runtime-5.0......
  • android studio输入对话框
    AndroidStudio输入对话框AndroidStudio是一款为Android应用程序开发提供支持的集成开发环境(IDE)。在开发过程中,我们经常需要与用户进行交互,而输入对话框是其中一个重要的组成部分。本文将向您介绍如何在AndroidStudio中创建和使用输入对话框,并提供相应的代码示例。创建输入对话......
  • android studio使指定页面不可显示
    AndroidStudio使指定页面不可显示在开发Android应用程序时,有时我们希望某些页面在特定条件下不可见。AndroidStudio提供了多种方法来实现这一目标,如通过布局文件、代码逻辑或使用Fragment等。本文将介绍几种常见的方法,并提供相应的代码示例。方法一:通过布局文件设置可见性在布......