|
STM32MP1是ST推出的第一款的应用于LINUX场合的MPU(微控制器,mcu微处理器),其集成了2个核:高端的A7核和低端的M4核。主核为A7,从核为M4。6 ]/ a9 D7 G- K" b: u% ? 我们先看下官方对外设的详细说明:% n7 z' n, v1 }4 [% r. g" Q1 x0 U
更详细的BLOCK图:
其中亮眼的就是对3D GPU的支持及16为BIT的ADC,其实其外设分布跟H7系列很类似。 严重怀疑就是在H7系列上修改了内核而已。$ {; M# [2 o) H. @% m$ V6 s( X 5 `! S$ ~! u2 C8 i( N" h6 O 但是在M157中两个核部分外设不能使用:+ G0 o% V" T+ c! c 系统图:
具体如下表:0 ~# Y1 y7 T+ {) x
其中AM4 内核最大的缺点就是不能有内部 Flash、 FMC 、 LTDC。 这样代码就不能加载在FLASH上,很不方便,所以不能单独使用。 STM32MP1的M4核却不能使用片上FLASH,仅能使用一段连续的SRAM,只能不断电调试。* Y5 s1 o2 q2 q+ {8 o# U 这里就不得不对比一下NXP产品的双核架构,其每个核都共享大部分外设寄存器、RAM、ROM。6 L% a* h0 F3 C) Z0 v/ L3 v 单个核可以独立使用。+ W" {9 }) E. d& P 而ST的具体做法是先启动A7核,运行LINUX系统,然后把M4的程序作为一个BIN文件执行。9 K3 n) ?2 `; T! J& T 5 w5 m+ l6 {3 l1 W' k! O 具体是:调试好 M4 内核的代码以后,通过 MDK 生成 对应的 bin 文件, A7 内核的 Linux 系统启动 以后可以加载这个 bin 文件到指定的 MCU SRAM 中 这样 M4 就可以启动了。 用 A7 内核启动$ V+ I) F# _. Q1 d: K. E Linux 系统,然后在加载 M4 的 bin 文件来启动 M4 内核,相比 其他单核M4单片机直接下载要繁 琐的多。 $ Q) @+ D/ |' s1 x ST预想的场景是A7 LINUX做前台界面,声音图像、存储等,M4核运行底层的具体的实时操作系统。; m2 c* T9 |% G% T
这样的机制,决定了M4只能是从核,并且在一些外设使用上也有些限制(跟完整的M4内核芯片比较,算是阉割过的版本了)。. G$ f: o4 J9 ~: d 当然更硬性的要求就是必须会LINUX才能使用,不然单个M4的核都不能使用。+ b, S# a* I- |2 f# }7 r7 G1 I 好了,今天的就到这了,谢谢观看。- X) o0 h" e8 I/ {, }1 L, B& l! w |
| 谢谢分享,再接再厉 |
|
兄弟,准备用这个做什么。* G# R8 @, g# [9 s' C |
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 协议全解析
微信公众号
手机版