`
1. 开箱介绍在知道取得社区的试用申请后,心情就一直无法平静,期待
STM32MP1产品已经很久了,终于获得了试用的机会。在激动的心情中等待了4天,终于在4月1日这个大日子收到了
开发板。
图1 全家福
图2 随机附带USB电缆
图3 板卡正面照
图4 板卡背面照
看到ST官方提供了USB线,还有TF卡,真是贴心啊。
2. 硬件资源介绍2.1. CPU——STM32MP157
按照官方的介绍,STM32MP1是通用微处理器产品系列,拥有双Arm Cortex-A7核 和 Cortex-M4核架构。此系列产品在充分满足多种应用的灵活性需求的同时,又实现了最佳性能和低功耗特性。Cortex-A7 内核支持开源操作系统 (Linux/Android),Cortex-M4 内核完美沿用现有的 STM32 MCU 生态系统,有助于开发者轻松实现各类开发应用。
下图为STM32MP1的产品选型图,可以看到A7的主频有650MHz和800MHz两种,说明ST在产品性能上也是有追求的。还有151/153/157等不同配置可选。
图5 STM32MP1选型表
STM32MP1采用异构双核架构
Cortex-A7 内核专用于开源操作系统,Cortex-M4 内核则专用于实时及低功耗任务处理。
650 MHz 主频的双 Cortex®-A7 内核
o 32 KB L1 指令缓存
o 32 KB L1 数据缓存
o 256 KB 级别 2 缓存
209 MHz主频 的 Cortex®-M4 内核
o 单精度浮点运算单元 (FPU)
o 数字信号处理器 (DSP) 指令
o 用于提高应用安全性的存储器保护单元(MPU)
Cortex-M4 内核得益于内置的 SRAM (448 KB),可运行完全确定的代码。例如,当前使用基于 STM32Cube 固件库的 STM32 MCU 的客户可直接在 Cortex-M4 内核的 448 KB SRAM 上完全重复使用其代码,并可添加到 Cortex-A7 内核上运行的 Linux 应用程序(例如 HMI)。
为满足各种各样的应用需求,大多数外设都可分配给 Cortex-A7 或 Cortex-M4 内核。
能效
• 动态效率:Cortex-A7 和 Cortex-M4 内核可独立运行或停止以实现最佳能效,从而满足各种处理和实时应用需求。
• 低功耗模式:支持多种低功耗模式,其中包括:
o 待机模式:低至 36 µW。
o VBAT 模式:低至 4.5 µW。在此模式下,可以使用实时时钟跟踪时间,同时支持侵入检测功能确保系统安全。
从这些介绍中,我比较看重的是CM4内核内置了448KB的存储空间,可以运行完整的代码,这一点对于我们未来的应用至关重要。这个和
ti的AM335x系列的PRU只有几K的代码空间比较简直是太爽了。
STM32MP1内部外设,CPU集成了较为通用的外设,第一感觉是似乎很熟悉,和一直使用的STM32F4系列CPU有一些相似的地方。实际的使用感觉尤其是CM4上的使用是真正的熟悉,这是一种传承也是一种风格。
图6 内部外设
2.2. 功能及接口分布
图7 正面分布图
图8 背面分布图
2.3. LED小灯试用产品如果没有一个点亮小灯的过程简直是太不通俗了,所以第一个介绍以下DK1板上的小灯。
DK1上共有4个LED小灯,分别是LD5、LD6、LD7、LD8 。引脚连接关系见下图。
图9 LED灯的原理图
通过原理图我们可知,
LD5 —— PA14
LD6 —— PA13
LED_Y(LD7)——PH7
LED_B(LD8)——PD11
其中LD5和LD6为低电平有效,LD7和LD8为高电平有效。
板上还有一个双色LED灯,为STLINK_LED,不是用户使用的LED灯。
图10 STLINK_LED
2.4. 按键板载4个按键B1、B2、B3、B4 。
B1为WAKEUP键,连接与STPMIC1
电源芯片上。
图11 B1按键
图12 B2按键
图13 B3和B4按键
B3和B4为用户按键。和LD5、LD6共用引脚PA13和PA14 。
2.5. 启动配置
根据SW1启动模式选择开关的配置不同,系统执行不同的启动方式。支持SD卡启动和通过USB/UART启动两种方式。
图14 SW1位置和BOOT模式的关系对照图
图15 SW1原理图
2.6. 以太网接口系统通过RGMII与RTL8211F物理层提供了一个千兆网络接口。
2.7. Arduino连接器这个设计非常实用,可以使用已有的兼容产品来完成功能扩展。
注意:官方说明中特殊提到,不能通过扩展的Arduino模块为DK1提供电源,否则会损坏开发套件。
IO接口的连接关系表。
图16 IO引脚关系表
Arduino连接器引脚排列和内部应交对应关系。
图17 引脚和功能对照表
图18 连接关系原理图
2.8. GPIO扩展连接器文档中介绍,GPIO扩展接口兼容树莓派的标准接口。并且在接口中引出了UART、FDCAN、SPI、I2C等很多外设接口.
图19 GPIO扩展接口连接关系
图20 GPIO扩展接口原理图
2.9. USB接口
DK1板卡基于STM32MP1集成的两路USB接口,通过USB2514B USB HUB扩展了4路USB,一路USB直接接入MP1中。
采用u*** hub接口芯片1拖4
图21 USB Hub原理图
图22 电源及独立USB接口
3. 软件生态介绍STM32MP1 拥有包括丰富的开发生态系统在内的诸多优点:
• 支持主流开源发行版操作系统Linux 以及合作伙伴提供的 Android操作系统
• 适用于 Cortex-M4 内核的STM32Cube 固件库和嵌入式软件包
• 可选的为高级 HMI 开发提供的3D 图形处理单元 (GPU)
• 丰富的数字与模拟外设集
• 高级安全功能
• 得益于高集成度特性、封装兼容性与低成本
PCB 技术(可以低至 4 层镀通孔 (PTH) PCB)和专用电源管理 IC(PMIC) 等优势,实现最佳物料清单 (BOM)
• ST 及合作伙伴提供的高级开发工具
• 一流的全球当地在线支持服务
• 遍布全球的分销渠道
• 承诺10 年产品供货保障,且每年更新
支持开源操作系统的 STM32 生态系统
熟悉 Cortex®-M4 MCU 环境的开发人员能轻松实现他们的目标,因为他们能够使用相同的STM32Cube 工具套件,包括基于 GCC 的 IDE、STM32CubeProgrammer 和 STM32CubeMX。此外,这款套件还配有 DRAM 接口调试工具,可以轻松配置 DRAM 子系统。
面向 Arm® Cortex®-A7 内核进行开发时,ST 通过使用主流的开源 OpenSTLinux 发行版进行开发,帮助用户消除潜在的障碍,确保应用软件移植的简便性和快速性。
我们实施的 ST 合作伙伴计划,可提供丰富的第三方生态系统来为开发人员提供协助。
软件部分在后面的使用过程中在进一步说,实际开发过程中会采用CubeIDE官方开发环境,因此,后面也会重点研究这个软件。
开箱到此结束,内容不是DK1板的全部,但是都是我比较关心的部分。
下一个帖子将会针对DK1的操作系统展开。
`