
继续研究STM32MP157C 开发板,程序员研究开发板和教师不同,不会面面俱到,往往是带着问题去寻找解决之道。 : I& x# M y' a 实现了交叉编译cortex-A 的应用程序之后,下一步需要搞定两个问题' O+ {3 n% u3 h8 o; E ·M4 程序的开发和下载, 毕竟,我们是冲着异构处理器架构来的。! |0 V( z& v2 w% j: a + ?/ ~. o, Q' c' F" N! k' a, \ % J# C7 B4 B8 O4 K. L 本文参考:STM32MP157——Remoteproc和RPMsg 一文8 C9 W8 u# G) x; h; d, w/ G 1.生成M4固件6 w4 K, c2 ]' r8 b: N7 c 理论上M4 的编程和普通STM32F系列程序设计没有什么大区别,唯一不同的就是处理器上接口的配置。4 b9 S# V. U ?: P6 Z5 |- \' E ![]() 可以使用STM32CubeIDE来配置M4的引脚,并且开发相关的应用程序. ) Z" E# U e9 q$ n o 2.M4固件的装入方式+ {* Y8 ~; ~0 b1 o6 r& i( l M4 固件下载的方式有两种 ; v# u% o$ m: ^7 N. ~ 工程模式(Engineering Mode)) m2 m/ v) h9 P1 \2 { 类似于使用ST-LINK仿真器将STM32单片机烧录到RAM,适用于M4上电启动模式,无需加载A7核。因为烧写到RAM里面,所以掉电程序会丢失,一般用于调试。。8 U' z8 F4 o5 f7 E & s# s" A D# G0 W1 X 产品模式(Production Mode) # N( n: M) C* K# X% K M4 的程序存放在A7的 linux 系统的文件中,A7核先启动后,通过remoteproc 的软件引导M4核启动,固件加载执行。 ' w) y! v$ U& B8 p& O 0 F& U( i' }- L+ U' W4 h$ `0 K$ x 我更倾向一开始就直接使用生产方式。 3 remoteproc 机制 Remoteproc(Remote Processor Framework),主要作用就是对远程处理器(也就是M4)的生命周期进行管理,即启动、停止远程处理器。 ![]() 实际操作时,可以使用开发板上现成的linux 命令行来实现。state powering 等等。在米尔开发板中使用fw_cortex_m4.sh- @4 u! J9 B, y& P& }0 A( U+ } U! P ( ]- ?: J/ D+ t+ a/ X 不过,米尔科技开发板上相关的文件目录和其说明书不同,埋的够深的。 & c8 F4 G' j( ] root@myir:/usr/local/Cube-M4-examples/STM32MP157C-EV1/Applications/OpenAMP/OpenAMP_TTY_echo# ls README fw_cortex_m4.sh lib) x) h* O- Y" `; `3 ^ 而且在lib 中已经放置了OpenAMP_TTY_echo.elf 文件,倒也是满贴心的。 / i- X8 w: v p$ H% i/ [4 Y) Q + d A; S, {1 Z3 o3 g' Y 4 cortex-A 和cortex-M 之间的信息交换RPMsg框架4 ?- H- e5 \0 G( d 两个处理器之间的信息交换是使用RPMsg框架来实现的。 ![]() 从图上看,进一步地是采用openAMP 来实现。ST 公司在A7 端将处理器信息交换仿真成为一个TTY 终端。而在M4 端仿真成为虚拟UART 。于是,两个处理器之间的通信变成了串口通信那么简单直接。只是这个串口的速度非常块,因为他们完全是在内存完成的。 # b: t Q' C5 h; m5 i 5 测试 \7 N7 X `. }& C6 j 先要运行fw_cortex_m4.sh n3 ?$ Q2 c3 G
, \9 t) t2 M% u H7 S& C, I5 t: Q% J 文章来自:姚家湾 # E* m2 W+ A/ A: F |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得