米尔STM32MP25x开发板Bring Up培训课程(一)
扫描二维码
随时随地手机看文章
1. 概述
本文将以 MYIR 的 MYC-LD25X 核心模块及MYD-LD25X开发平台为例,讲解如何使用 STM32CubeMX 来实现Developer package最小系统和外设资源的配置。
1.1. 创建系统工程
1.1.1. 创建默认工程
打开 STM32CubeMX, 可以看到主界面,我们需要从选择芯片开始点击“ACCESS TO MCU SELECTOR”
进入下一个界面选择主芯片,使用手动输入会快一点的补全整个芯片名字。
根据芯片的 part number 选择正确的芯片封装开始项目创建,上一节已经看了CPU型号是 STM32MP257DAK3。
选择“STM32MP257DAK3” 芯片
点击“Start Project”
创建新的工程
进入到配置界面后默认的状态是下面状态。
左边为芯片资源的配置表,右边为pin脚的位置图。
1.1.2. 配置调试串口
米尔的开发板Debug调试口用的是USART2 :PA8 和 PA4引脚
在CubeMX配置USART2 pin脚:
如果上图默认引脚非PA4脚,鼠标左键点击下图位置,然后选择USART2_TX
配置USART内部RCC时钟:
Notes: 这里边 USART2 的时钟选择用 HSI, 一个原因是考虑现在还未配置外部时钟,另一个原因是 考虑到低功耗工作模式下有串口唤醒的应用。排除这两点其他的时钟源也可以使用。
1.1.3. 配置电源管理
电源方案是使用PMIC,电源域如下表格
从这个表上我们优先看几个电源域: CPU,usart, USB
BUCK1: VDDCPU是默认值 0.8V --> CPU
BUCK4: VDDIO是默认值3.3V --> Usart
LDO4: VDD3V3_USB是默认值3.3V -->USB
等等
从上面看,好像电源都默认值,我们需要配置PMIC,其他的电源都是底板直接提供,不需要配置,从下面这个结构图就可以看出。
cubeMX配置IIC7
时钟使用内部时钟源
1.1.4. 配置外部RCC
RCC, Reset and clock control, RCC 模块负责内部时钟(LSI, HSI 和 CSI)和外部时钟(LSE 和 HSE)的控制,这些内外部时钟源为硬件模块直接或间接(通过 PLLs)的提供时钟信号,核心板的时钟源:
米尔的时钟采用:
无源的32.768KHZ 低速时钟源
无源40MHZ高速时钟源
这里介绍如何配置使能外部时钟 LSE 和 HSE,首先看一下 HSE 的几种经典设计电路:
配置RCC:
配置成外部时钟:
1.1.5. 配置DDR
培训使用开发板使用的内存信息如下:
Ø 容量:2GB LPDDR4/4X
Ø 速率:4266Mbps
Ø 时钟:1200MHZ时钟,双边沿采样,也就是时钟是600MHZ
按照这个内存描述继续使用STM32CubeMX配置工程,增加DDR配置
同时配置随机数生成器和硬件hash也配置上,DDR需要用到校验作用
时钟使用外部HSE,给到600MHZ
1.1.6. 配置EMMC
培训开发板默认标配一个8GB的Emmc存储芯片
连接原理图如下:
配置cubeMX
SDMMC2的时钟配置为200MHZ
1.1.7. 配置USB device
由于我们本次只用到在uboot阶段的USB下载模式,所以只需配置USB device即可
配置时钟
上面配置完成后,我们就可以生成工程。
点击“Project Manager”页面, 需要写个工程名Project Name,可以自行取名,我这里就取名“Bringup”,选择生成的路径。点击“GENERATE CODE”之后等待生成生成一个 Bringup project
Project Location填写的是生成工程的路径
更多介绍请关注下一期介绍或关注米尔电子公众号