|
STM32MP1是ST推出的第一款的应用于LINUX场合的MPU(微控制器,mcu微处理器),其集成了2个核:高端的A7核和低端的M4核。主核为A7,从核为M4。 我们先看下官方对外设的详细说明:
更详细的BLOCK图:
其中亮眼的就是对3D GPU的支持及16为BIT的ADC,其实其外设分布跟H7系列很类似。 严重怀疑就是在H7系列上修改了内核而已。 但是在M157中两个核部分外设不能使用: 系统图:
具体如下表:
其中AM4 内核最大的缺点就是不能有内部 Flash、 FMC 、 LTDC。 这样代码就不能加载在FLASH上,很不方便,所以不能单独使用。 STM32MP1的M4核却不能使用片上FLASH,仅能使用一段连续的SRAM,只能不断电调试。 这里就不得不对比一下NXP产品的双核架构,其每个核都共享大部分外设寄存器、RAM、ROM。 单个核可以独立使用。 而ST的具体做法是先启动A7核,运行LINUX系统,然后把M4的程序作为一个BIN文件执行。 具体是:调试好 M4 内核的代码以后,通过 MDK 生成 对应的 bin 文件, A7 内核的 Linux 系统启动 以后可以加载这个 bin 文件到指定的 MCU SRAM 中 这样 M4 就可以启动了。 用 A7 内核启动 Linux 系统,然后在加载 M4 的 bin 文件来启动 M4 内核,相比 其他单核M4单片机直接下载要繁 琐的多。 ST预想的场景是A7 LINUX做前台界面,声音图像、存储等,M4核运行底层的具体的实时操作系统。
这样的机制,决定了M4只能是从核,并且在一些外设使用上也有些限制(跟完整的M4内核芯片比较,算是阉割过的版本了)。 当然更硬性的要求就是必须会LINUX才能使用,不然单个M4的核都不能使用。 好了,今天的就到这了,谢谢观看。 |
| 谢谢分享,再接再厉 |
|
兄弟,准备用这个做什么。 |
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
兔哥心中的ST中文论坛
我心中的ST中文论坛
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
深度拆解 STM32MP1 Boot 链路
STM32串口自动识别波特率的原理
STM32MP135 MP157 MP257 CoreMark移植&&跑分对比&&多核心负载不均衡问题排查与解决
基于STM32在线升级OTA经验分享
微信公众号
手机版