stm32linux区别,STM32MPU和OpenSTLinux你了解多少?

d4888bea7589b0df0c5d32ea6d02a278.png

早在2019年年初的时候,ST就发布了首款STM32MPU:STM32MP1。 STM32MP1通用微处理器产品系列,系基于混合的 双Arm Cortex-A7核 和 Cortex-M4核架构产品。 一、支持STM32MPU 生态系统

熟悉 Cortex-M4 MCU 环境的开发人员能轻松实现他们的目标,因为他们能够使用相同的 STM32Cube 工具套件,包括基于 GCC 的 IDE、STM32CubeProgrammer 和STM32CubeMX。此外,这款套件还配有 DRAM 接口调试工具,可以轻松配置 DRAM 子系统。

面向 Cortex-A7 内核进行开发时,ST 通过使用主流的开源 OpenSTLinux发行版进行开发,帮助用户消除潜在的障碍,确保应用软件移植的简便性和快速性。

二、STM32MPU嵌入式软件架构先给大家看一下官方给的基于STM32MP1的架构图:

e7156ddacb794df079501605f1a43df2.png

从图中可以看出,嵌入式软件主要分为两大类:

1.STM32Cube MPU软件包

STM32Cube MPU软件包主要针对于Cortex-M4,基于HAL驱动程序和中间件,像其他的STM32微控制器,以完成协处理器管理。

2.OpenSTLinux

开源OpenSTLinux主要针对于Cortex-A7,主要包含两大类:

OpenSTLinux BSP:班级支持包

application frameworks:应用框架

上面内容是一个整体框架,如果将其进一步细分,里面包含的内容还有很多,下面章节有针对性讲述一些相关内容。

三、STM32Cube MP1包架构

如果使用过,或者学习过STM32CubeMX开发的朋友,应该对STM32Cube包不陌生。

a0ffd92b5372d13955583d4b3cb979fb.png

这里主要分为了四大块: 1.Hardware硬件层这一块很简单,就是硬件板卡等。 2.Level 0驱动层(Drivers) 这里分为三个软件组件:HAL:Hardware Abstraction Layer,硬件抽象层LL:Low Layer,低层驱动BSP:oard Support Package,板级支持包 3.Level 1中间层(Middlewares)中间件组件是一组提供一组服务的库。STM32Cube MP1包提供2个主要组件:FreeRTOS和OpenAMP。FreeRTOS:是一个免费的实时操作系统(RTOS)。

OpenAMP:是一个实现远程处理器服务框架(RPMsg)的库,它是一种与远程处理器通信的消息传递机制。

4.Level 2板卡示例层

主要是一些参考示例代码,初学的是时候可以参考。

四、U-Boot引导顺序从上面的嵌入式软件架构可以看得出来,OpenSTLinux里面包含的内容比较多,本文讲述其中的一个U-Boot. 1.通用启动顺序通用U-Boot的引导顺序如下:

051278f5dc8108c9dd9a09078fa656de.png

ROM代码最基本的一段代码,初始化时钟树,加载FSBL程序等。 第一阶段引导加载程序(FSBL)初始化(部分)时钟树和外部RAM控制器。最后,FSBL将第二阶段引导加载程序(SSBL)加载到外部RAM中并跳转到它。

第二阶段引导加载程序(SSBL)

SSBL在更大的RAM中运行,因此它可以实现复杂的功能(USB,以太网,显示器等),这对于使Linux内核加载更加灵活非常有用(从Flash设备,网络等),用户友好(向用户显示启动画面)。

Linux内核空间

Linux内核在外部存储器中启动,它初始化平台上所需的所有外设驱动程序。

Linux用户空间

最后,Linux内核将控制权交给用户空间,启动init进程,该进程运行根文件系统(rootfs)中描述的所有初始化操作,包括向用户公开用户界面(UI)的应用程序框架等。

2.STM32MP启动顺序

针对于STM32MP,官方也给了两种启动方式:可信引导、基本引导。

可信引导

5ae0d751ae0ceb27881f8faf78510b40.png

基本引导

5ab44f5a012d2d720ddf618791bff133.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法总结 -- 博弈论(PN图)

博弈论:组合博弈 * 必败点(P点) :前一个选手(Previous player)将取胜的位置称为必败点。 * 必胜点(N点) :下一个选手(Next player)将取胜的位置称为必胜点。 * 必败(必胜)点的属性:* (1) 所有终结点是必败点(P点&#…

linux安全模式改文件,嵌入式Linux的安全模式设计 - 嵌入式操作系统 - 电子发烧友网...

本系统的架构如下图:产品所使用的flash总大小为16M。系统包括三大部分,即Bootloader,config, kernel rootfs:另外,/dev/mtdblock/0,在系统中对应整个flash block,即整个16M空间。系统启动时&am…

【POJ - 1661】Help Jimmy(记忆化搜索,dp)

题干: Help Jimmy" 是在下图所示的场景上完成的游戏。 场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。 Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jim…

c语言linux消息机制,linux消息机制的过程是什么啊,请赐教

LINUX的安装过程很简单,按照它的提示进行就可以了.重点就是分区那里.通常我们使用双系统,那样我们在LINUX分区的时候不要把WIN分区跟格掉就好,然后要记得分一个SWAP分区,然后根据您的需要进行相应的分区,比如/HOME,/USR,/VAR等等.下面介绍一下具体操作步骤:假定用户…

ACM与Java -- 大整数类的常用函数一览表

BigInteger abs() 此方法返回一个BigInteger,其值是此BigInteger的绝对值。2BigInteger add(BigInteger val) 此方法返回一个BigInteger,其值是(this val).3BigInteger and(BigInteger val) 此方法返回一个BigInteger,其值是 (this & v…

linux虚拟机上安装域名,虚拟机如何安装linux系统

虚拟机如何安装linux系统?安装linux系统首先要在电脑上安装好虚拟机,然后逐步进行linux系统安装。大致介绍下安装的流程。1.首先打开虚拟机软件,点击文件/新建虚拟机,用户可以按照默认选择,然后点击下一步。2.在浏览里&#xff0c…

想打ACM?想刷题?来这些online judge!

原文地址:https://blog.csdn.net/tigerisland45/article/details/52134189

基于arm下的Linux控制,基于ARMuCLinux的网络控制系统设计与实现

引言 随着网络和通信技术的发展,嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARMuCLinux作为开发平台。实现基于TCP/IP的远程系统监控.从而取代传统单片机来实现数据采集、预处理和通信功能&am…

【qduoj - 1121】小明的贪心题(Dijkstra最短路 + 最短路条数)

题干: 小明的贪心题 描述 小明来到青岛上学已经一年了,他给青岛这座城市画了一张地图。在这个地图上有n个点,小明的起始点为1号点,终点为n号点,并且地图上的所有边都是单向的。小明知道从i号点到j号点的时间花费为w分…

nodejs 监控linux,linuxServerMonitoring

linux服务器监控平台技术:nodejs vue java mongodb springboot linux shelllinux服务器监控项目,前后端分离vuespringbootmongodb:1、启动前台:使用命令:A 先安装nodejs并配置好环境变量B 先控制台cmd命令切换到项目目…

【qduoj - 纳新题】小明的dp(快速幂 + 乘法原理)(简单组合数学)

题干: 描述 小明有n种珠宝,每种无限个,他想从这些珠宝中取出m个,编成手链(长链哦),并按顺序排列起来,为了好看,相邻的珠宝不能相同。小明想知道有多少种排列的方法。 输…

linux查看显卡核心数,linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 | 帮助信息-动天数据...

linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息作者:dthost |时间:2015-09-30 |8,325 次阅读linux服务器大家都知道,他和WIN系统不一样,他不能和WIN电脑一样,用桌面的电脑属性查看…

【qduoj - 纳新题】凑数题(恰好装满类0-1背包 或 母函数)

题干: 描述 小Q手里有n枚硬币,每枚硬币有一定的金额x,他想知道,用这些硬币能组成多少种不同的金额。但是他太笨了,自己数懵了,你来帮帮他好不好? 注意:组成金额时,每枚硬币只能用一…

c语言中short作用,C语言short

C语言short教程C语言short定义详解语法short int varname value;short varname1 value2; //简写形式参数参数描述short int定义 short 类型变量使用的类型。varname变量名。value可选,变量的初始值,该值不可以超过 short 类型的最大值。说明使用 short…

dls的BM算法模板(线性递推问题,解决矩阵快速幂解决不了的问题)

模板&#xff1a;往里面扔数就可以了&#xff08;据说>8个&#xff1f;&#xff09;%%%dls https://www.cnblogs.com/zzqsblog/p/6877339.html #include<bits/stdc.h> using namespace std; #define rep(i,a,n) for (int ia;i<n;i) #define per(i,a,n) for (int …

c语言课题设计字符串处理函数报告,C语言输入输出库函数设计实验报告.doc

C语言输入输出库函数设计实验报告第 PAGE \* MERGEFORMAT I页 共 SECTIONPAGES \* MERGEFORMAT 1页华中科技大学计算机科学与技术学院C语言课程设计报告题目: C输入输出库函数的程序设计专 业&#xff1a; 计算机科学与技术班 级&#xff1a; CS1202学 号&#xff1a; U2012148…

【HDU - 1847】Good Luck in CET-4 Everybody! (巴什博奕,PN图或sg函数)

题干&#xff1a; 大学英语四级考试就要来临了&#xff0c;你是不是在紧张的复习&#xff1f;也许紧张得连短学期的ACM都没工夫练习了&#xff0c;反正我知道的Kiki和Cici都是如此。当然&#xff0c;作为在考场浸润了十几载的当代大学生&#xff0c;Kiki和Cici更懂得考前的放松…

词法分析器c语言带注释,C语言词法分析器内容说明注释完整可运行代码.doc-资源下载在线文库www.lddoc.cn...

C语言词法分析器_内容说明注释完整_可运行代码.doc1. 实验目的及要求 本次实验通过用 C 语言 设计、编制、调试一个词法分析子程序&#xff0c;识别单词&#xff0c;实现一个 C 语言词法分析器&#xff0c;经过此过程可以加深对编译器解析单词流的过程的了解。 运行环境运行环境…

【HDU - 2516 】取石子游戏 (Fibonacci博弈)

题干&#xff1a; 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个&#xff0c;但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win". Input 输入有多组.每组第1行是2<n<…

打印心形c语言,C语言打印心形

#include int main() {for (float y 1.5f; y > -1.5f; y - 0.1f) {for (float x -1.5f; x < 1.5f; x 0.05f) {float a x * x y * y - 1;putchar(a * a * a - x * x * y * y * y < 0.0f ? ‘*‘ : ‘ ‘);}putchar(‘\n‘);}}**********************************…