打印
[STM32MP2]

STM32MP1 开发板的初始设置与固件烧录

[复制链接]
109|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32MP1 是 STMicroelectronics 生产的多核微处理器,结合了 ARM Cortex-A7 内核和 Cortex-M4 内核,适合需要高性能和低功耗的应用场景。开发板如 STM32MP157C-DK2 可以用来进行固件开发和测试。下面我们将介绍 STM32MP1 开发板的硬件概览、启动模式,以及如何通过 STM32CubeProgrammer 工具进行固件烧录,同时解释如何使用 USB OTG 接口和 SD 卡进行启动设置。


使用特权

评论回复
沙发
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者
硬件概览
STM32MP1 系列开发板如 STM32MP157C-DK2 通常包括以下主要硬件模块:

ARM Cortex-A7 双核处理器:运行主操作系统(如 Linux)。
ARM Cortex-M4 处理器:用于实时任务,通常与 FreeRTOS 或裸机代码一起使用。
DDR RAM:用于存储操作系统和应用程序的临时数据。
eMMC/SD 卡存储器:用于固件、操作系统和文件系统的永久存储。
USB OTG 接口:用于与外部设备通信,可以用于固件烧录和调试。
GPIO 接口:通用输入输出,用于外设连接和控制。

使用特权

评论回复
板凳
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者
常用接口:
SD 卡插槽:支持 SD 卡启动或存储。
USB OTG(On-The-Go)接口:支持与主机或设备通信模式。
以太网接口:用于网络通信。
UART 接口:用于串口调试和通信。

使用特权

评论回复
地板
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者
启动模式
STM32MP1 的启动模式由内部的 Boot ROM 程序决定,通常根据不同的硬件设置选择从哪种存储介质引导系统。STM32MP1 支持多种启动模式,如:

eMMC 启动
SD 卡启动
NAND/NOR 闪存启动
USB OTG 启动(ROM Bootloader 模式)
启动模式的选择通过 Boot 引脚(Boot Pins)来配置。以 STM32MP157C-DK2 为例,可以通过 SW1 开关(DIP 开关)来选择启动模式:
开关位置 0:从 eMMC 启动。
开关位置 1:从 SD 卡启动。
开关位置 2:从 USB OTG 启动。
常用的两种启动设置:
USB OTG 启动:用于通过 USB 线连接 PC,并使用 STM32CubeProgrammer 烧录固件。
SD 卡启动:将固件或操作系统写入 SD 卡,通过 SD 卡启动开发板。

使用特权

评论回复
5
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者
通过 STM32CubeProgrammer 工具进行固件烧录
STM32CubeProgrammer 是 ST 官方提供的通用烧录工具,支持通过多种接口(如 JTAG、UART、USB)将固件写入 STM32 系列处理器。

烧录步骤:
1. 下载并安装 STM32CubeProgrammer

从 ST 官方网站 下载并安装 STM32CubeProgrammer。
2. 设置开发板进入 USB OTG 启动模式

使用 SW1 DIP 开关选择 USB OTG 启动模式(通常 Boot 引脚设置为 Boot 2 = 0,Boot 1 = 1,Boot 0 = 0)。
通过 USB 线将开发板的 USB OTG 接口与 PC 相连。
供电并重启开发板,此时开发板将进入 USB DFU 模式。
3. 打开 STM32CubeProgrammer

打开 STM32CubeProgrammer,选择 "USB" 作为连接接口,点击 "Connect" 按钮,程序应能检测到开发板。
4. 选择固件文件

在软件中,点击 "Open File" 选择要烧录的固件文件(通常是 .bin、.elf 或 .hex 文件)。
配置烧录起始地址(通常为 0xC0000000,该地址是 DDR 的起始地址)。
5. 开始烧录

确认无误后,点击 "Download" 按钮开始烧录。
烧录成功后,开发板将自动重启。

使用特权

评论回复
6
烟雨蒙蒙520|  楼主 | 2024-9-30 20:53 | 只看该作者
使用 USB OTG 接口和 SD 卡进行启动设置
1. 使用 USB OTG 接口启动
当开发板设置为 USB OTG 启动模式时,它将进入 DFU 模式,等待通过 USB 端口进行固件烧录或直接启动。通过 STM32CubeProgrammer 可以直接向 DDR 或其他存储介质烧写固件,烧录完成后开发板会自动从烧录的固件启动。

使用特权

评论回复
7
烟雨蒙蒙520|  楼主 | 2024-9-30 20:54 | 只看该作者
使用 SD 卡启动
准备 SD 卡:
使用 dd 命令或 Etcher 等工具将镜像文件(例如 Linux 系统镜像)写入 SD 卡。
确保镜像文件中包含 U-Boot 引导程序和根文件系统。
配置开发板:
将 SW1 DIP 开关设置为 SD 卡启动模式(例如 Boot 引脚设置为 Boot 2 = 0,Boot 1 = 0,Boot 0 = 1)。
启动开发板:
将写好镜像的 SD 卡插入开发板的 SD 卡槽,重新上电,开发板将从 SD 卡启动。

使用特权

评论回复
8
烟雨蒙蒙520|  楼主 | 2024-9-30 21:08 | 只看该作者
总结
STM32MP1 开发板支持多种启动方式和固件烧录方式。在实际开发中,常用的是通过 STM32CubeProgrammer 结合 USB OTG 接口进行固件烧录,以及通过 SD 卡进行启动设置。在固件开发初期,建议通过 USB OTG 进行快速固件下载和调试,当固件稳定后,可以将固件烧录到 eMMC 或 SD 卡中,进行量产测试。

使用特权

评论回复
9
泡椒风爪| | 2024-10-2 20:30 | 只看该作者
开发板如 STM32MP157C-DK2 可以用来进行固件开发和测试

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

627

帖子

0

粉丝