|
STM32MP1是ST推出的第一款的应用于LINUX场合的MPU(微控制器,mcu微处理器),其集成了2个核:高端的A7核和低端的M4核。主核为A7,从核为M4。, K. b! x- z1 c. H1 U% P" e 我们先看下官方对外设的详细说明:) k! o h% \% q2 t3 Q2 f' K
更详细的BLOCK图:
其中亮眼的就是对3D GPU的支持及16为BIT的ADC,其实其外设分布跟H7系列很类似。 严重怀疑就是在H7系列上修改了内核而已。 k0 R2 l- ]+ H2 I 但是在M157中两个核部分外设不能使用: 系统图:
具体如下表:
其中AM4 内核最大的缺点就是不能有内部 Flash、 FMC 、 LTDC。! [& `( u5 M- `0 g0 ~3 `" q 这样代码就不能加载在FLASH上,很不方便,所以不能单独使用。2 t- F+ j0 s0 J STM32MP1的M4核却不能使用片上FLASH,仅能使用一段连续的SRAM,只能不断电调试。 这里就不得不对比一下NXP产品的双核架构,其每个核都共享大部分外设寄存器、RAM、ROM。6 ]* V, Q2 ~9 |- v# h 单个核可以独立使用。 而ST的具体做法是先启动A7核,运行LINUX系统,然后把M4的程序作为一个BIN文件执行。, |( Q3 J" G. X5 s$ b6 R" [) G 4 ~* @' c/ n# @ T# a 具体是:调试好 M4 内核的代码以后,通过 MDK 生成 对应的 bin 文件, A7 内核的 Linux 系统启动: i2 F$ M7 d% w3 a! O 以后可以加载这个 bin 文件到指定的 MCU SRAM 中 这样 M4 就可以启动了。 用 A7 内核启动6 E6 r7 \! D% x3 P5 Y9 ^ Linux 系统,然后在加载 M4 的 bin 文件来启动 M4 内核,相比 其他单核M4单片机直接下载要繁# ^( V& b1 `0 `2 u 琐的多。, [$ X' @% l5 s" c$ b7 g3 Z 6 z( l U& w. m5 A! j# N$ J% W) M3 H2 S ST预想的场景是A7 LINUX做前台界面,声音图像、存储等,M4核运行底层的具体的实时操作系统。
这样的机制,决定了M4只能是从核,并且在一些外设使用上也有些限制(跟完整的M4内核芯片比较,算是阉割过的版本了)。 8 w {) r& Z: I( d3 |3 _3 d6 t) m 当然更硬性的要求就是必须会LINUX才能使用,不然单个M4的核都不能使用。 好了,今天的就到这了,谢谢观看。# V" |3 k7 t: u7 z E; Y |
| 谢谢分享,再接再厉 |
|
兄弟,准备用这个做什么。4 R6 O7 i+ }) G0 g: Z$ l |
STM32MP157双A核Linux + 自研RTOS双系统镜像免费下载
《STM32CubeMX2 实战课程》学习笔记5+CubeMX2生成的Uart初始化代码中没有使能
《STM32CubeMX2 实战课程》学习笔记4+FreeRTOS中的SysTick错误及改正
使用stm32C542做的低功耗密码锁示例
《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目并打开
《STM32CubeMX2 实战课程》学习笔记3.+sleep/stop/standby低功耗模式的入口
《STM32CubeMX2 实战课程》学习笔记2+MX2生成的MDK5工程中添加已存在文件(*.c / *.h)
扩展STM32微处理器,实现高性价比、低功耗和灵活性能
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
STM32MP1 自举程序编程:USB DFU/USART 协议全解析
微信公众号
手机版