一、STM32MP1系列简介 先来张果照,认识一下我们今天的主角-STM32MP157A-DK1 STM32MP1 通用微处理器产品系列,是意法半导体推出的基于混合的 双Arm Cortex-A7核 和 Cortex-M4核架构得产品。此系列产品在充分满足多种应用的灵活性需求的同时,又实现了最佳性能和低功耗特性。Cortex-A7 内核支持开源操作系统 (Linux/Android),Cortex-M4 内核完美沿用现有的 STM32 MCU 生态系统。
STM32MP1采用了灵活的双核架构 Cortex-A7 内核专用于开源操作系统, • 650 MHz 主频的双 Cortex®-A7 内核 • 32 KB L1 指令缓存 • 32 KB L1 数据缓存 • 256 KB 级别 2 缓存 Cortex-M4 内核则专用于实时及低功耗任务处理 • 209 MHz主频 的 Cortex®-M4 内核 • 单精度浮点运算单元 (FPU) • 数字信号处理器 (DSP) 指令 • 用于提高应用安全性的存储器保护单元(MPU) 为满足各种各样的应用需求,大多数外设都可分配给 Cortex-A7 或 Cortex-M4 内核。 STM32MP1 拥有包括丰富的开发生态系统在内的诸多优点:
• 支持主流开源发行版操作系统Linux 以及合作伙伴提供的 Android操作系统
• 适用于 Cortex-M4 内核的 STM32Cube 固件库和嵌入式软件包
• 可选的为高级 HMI 开发提供的3D 图形处理单元 (GPU)
• 丰富的数字与模拟外设集
• 高级安全功能
• 得益于高集成度特性、封装兼容性与低成本 PCB 技术(可以低至 4 层镀通孔 (PTH) PCB)和专用电源管理 IC (PMIC) 等优势,实现最佳物料清单 (BOM)
• ST 及合作伙伴提供的高级开发工具
• 一流的全球当地在线支持服务
• 遍布全球的分销渠道
• 承诺10 年产品供货保障,且每年更新 STM32MP1系列支持开源操作系统 ST向开发人员提供了完整的 STM32Cube 工具套件,包括基于 GCC 的 IDE、STM32CubeProgrammer 和 STM32CubeMX。此外,这款套件还配有 DRAM 接口调试工具,可以轻松配置 DRAM 子系统。 面向 Arm® Cortex®-A7 内核进行开发时,ST 通过使用主流的开源 OpenSTLinux 发行版进行开发,帮助用户消除潜在的障碍,确保应用软件移植的简便性和快速性。 STM32MP1有着优秀的能效管理能力 • 动态效率:Cortex-A7 和 Cortex-M4 内核可独立运行或停止以实现最佳能效,从而满足各种处理和实时应用需求。 • 低功耗模式:支持多种低功耗模式,其中包括: • 待机模式:低至 36 µW。 • VBAT 模式:低至 4.5 µW。在此模式下,可以使用实时时钟跟踪时间,同时支持侵入检测功能确保系统安全。 STM32MP1系列提供有3种不同的产品线,引脚彼此兼容: • STM32MP157:双 Cortex-A7 内核(运行频率 650 MHz),Cortex-M4 内核(运行频率 209 MHz),3D GPU,DSI 显示界面和 CAN FD • STM32MP153:双 Cortex-A7 内核(运行频率 650 MHz),Cortex-M4 内核(运行频率 209 MHz)和 CAN FD • STM32MP151:单 Cortex-A7 内核(运行频率 650 MHz),Cortex-M4 内核(运行频率 209 MHz) 每个产品线都支持安全选项(加密和安全启动) 二、初步体验STM32MP157A-DK1 这次我们拿到的是STM32MP1系列最顶配的157开发板,如上所示,可惜只是裸板,没有屏幕。不过好在板子自带HDMI接口,可以直接外接HDMI的显示器使用,下面我们来上电试一下吧。 首先我们按手册说明接好线,HDMI接显示器,键盘鼠标一个都不能少,板载STlink_V2,如果想看设备启动的输出信息,需要接上microUSB通过串口查看,不过我们暂时用不到可以不接,供电使用的是USB Type-C接口,不过注意板子上有两个Type-C,注意要接网口旁边那个,再就是手册上明确要求了要使用5V,3A以上的电源供电,看来手上这个小家伙耗电还是不小的,好了,现在开始上电。 上电之后会显示ST的**,不一会就会进入系统界面,如上所示,还是比较简洁的(还以为会出来了linux桌面呢),对应着每一个图标都提供了一项测试功能,除了右边那只大蝴蝶。 好了,上电体验就到这里,下面我们开始尝试下制作一张TF启动卡。
最后我们还要准备一份OpenSTLinux的系统镜像,目前ST共更新了三个版本,如下所示: en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-10-09.tar.xz en.FLASH-stm32mp1-openstlinux-20-02-19.tar.xz 好了,我们要开始烧写系统了,这里有一点与树莓派不一样的地方,树莓派需要在电脑上将TF卡烧录好,然后查到板子上启动,而我们的STM32MP1则需要直接再开发板上烧写,我们只需要设置下拨码开关,选择下启动项即可,如下图。 我们将两个拨码开关全部掰到OFF侧,然后插好TF卡,这里需要接的线有点多,首先是我们的电源线,这个是少不了的,主要要保证电源能提供3A以上的电流哦,其次我们还需要一根USB Type-C线以便接到我们的电脑上,必将USB还是提供不了3A的电流的,这时候就要**们远离网口的那个Type-C接口了,至于STlink还是老样子,可接可不接。 好了,开始上电,设备管理器会提示我们找到新设备,如下图所示。 这时候我们打开安装好的STM32CubeProgrammer,在右侧的设备框中选择USB设备,回自动提示我们找到一个“USB1”设备,我们点击connect,然后在左侧的“Open File”选项中打开烧录的脚本文件,如下所示,要注意选择对应板子的脚本哦。 然后我们点击软件中部的“Browse”,选择镜像存放路径“stm32mp1-openstlinux-20-02-19\images\stm32mp1”,也就是刷机脚本所在的上一级目录,然后我们“Download”开始刷机,如下图所示。 软件下方的log框中会同步显示刷机的进度,这时候如果你提前接入了STlink,也可以从串口看到同样的信息,不过要更详细一些,如下所示。 整个刷机过程大约需要十多分钟,刷机完成后,主要将两个拨码开关都拨回到ON档才能正常启动系统哦。 新系统启动后同样也是这个界面。 好了,剩下的就是愉快的使用STM32MP157A了。
|