首页 > 系统相关 >4 STM32MP1 Linux系统启动过程

4 STM32MP1 Linux系统启动过程

时间:2023-07-25 09:11:56浏览次数:40  
标签:系统启动 STM32MP1 代码 FSBL 内核 Linux SSBL

1. ROM代码

  这是ST官方写的代码,在STM32MP1出厂时就已经烧录进去,不能被修改。ROM代码是上电以后首先执行的程序,它的主要工作就是读取STM32MP1的BOOT引脚电平,然后根据电平来判断当前启动设备,最后从选定的启动设备里面读取FSBL代码,将FSBL代码放在对应的RAM空间。

  STM32MP1启动Linux内核是链式结构:ROM Code → FSBL → SSBL → Linux kernel → rootfs,系统启动的时候要保证整个链式结构都是安全的。ROM首先对FSBL进行鉴权,同样,FSBL对下个阶段鉴权以此类推,直到设备系统正确启动。

2. FSBL

  FSBL代码是初始化时钟树和外部RAM控制器,也就是DDR。FSBL将SSBL加载到DDR里面运行SSBL代码。

  一般FSBL代码是TF-A或Uboot的SPL代码,但可以换成STM32MP1 A7的内核裸机代码。

3. SSBL

  因为SSBL代码是在DDR内,无需担心空间不足,所以SSBL代码就有使能USB、网络、显示等等。SSBL一般是Uboot,用来启动Linux内核。

4. Linux内核

  SSBL部分的Uboot就只有一个使命,启动Linux内核,Uboot将Linux内核加载到DDR上并运行。Linux内核启动就是初始化开发板上的各种外设。

5. Linux用户空间

   系统启动的时候会通过 init 进程切换到用户空间,在这个过程中会初始化根文件系统里面的各种框架以及服务。

标签:系统启动,STM32MP1,代码,FSBL,内核,Linux,SSBL
From: https://www.cnblogs.com/toutiegongzhu/p/17578290.html

相关文章

  • 一分钟学一个 Linux 命令 - rm
    前言大家好,我是god23bin,欢迎回到咱们的《一分钟学一个Linux命令》系列,今天我要讲的是一个比较危险的命令,rm命令,没错,你可以没听过rm命令,但是删库跑路你不可能没听过吧?什么?没听过,没事,现在你就听过了,我刚刚已经讲了,哈哈哈。好了,废话不多说,现在开始吧!什么是rm?rm是单词rem......
  • linux 中 grep命令精准匹配制表符
     001、[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据321971225792194632197622553381184532197222609449473219872253144109......
  • Linux那些查看或统计网卡流量的几种方式
    iftop是类似于top的实时流量监控工具,主要用来显示本机网络流量情况以及各个相互通信的流量集合,可以用来监控网卡的实时流量。 iftop的输出从整体上可以分为三大部分:iftop输出中最上面的一行,此行信息是流量刻度,用于显示网卡带宽流量。iftop输出中最大的一个部分,此部分又分......
  • 适用于Android手机的Debian GNU/Linux和Windows兼容环境
    Github地址:https://github.com/jinshulumengchuang/Debian-Wine-Android食用方法:从github下载release安装得到的apk文件把tarball放在内部存储的根目录给termux存储权限打开termux输入:cd..;tarxvf/sdcard/rootfs.tar.xz回车等候指令执行完成.($符号重新出现)......
  • linux下载安装fastdfs和fastdfs与nginx整合、springboot访问fastdfs
    文章目录需求分析分布式文件系统1FastDFS安装FastDFS和nginx整合2.整合java访问fastdfs服务文件上传查询下载测试整合springboot需求分析搭建fastDFS文件服务器1)安装fastDFStracker和storage2)在storageserver上安装nginx在storageserver上安装nginx的目的是对外通过http访问......
  • 关于菜鸡学习RHEL8的一些小笔记--->linux上的ssh远程
    远程:*在日常使用中,windows系统可以使用远程桌面来管理远程的windows操作系统*而在Linux上,可以使用openssh套件来进行管理(默认安装)在openssh上是使用安全加密的套接字通信方式openssh:openssh是一个典型的C/S架构,同时拥有openssh-clent客户端以及openssh-server服务端,如下所示:通过ssh......
  • 15个实用的Linux find命令示例
    译文出处:oschina-青崖白鹿。欢迎加入技术翻译小组。<!--divid="ad1"><scripttype="text/javascript">google_ad_client="ca-pub-7056282119617872";google_ad_slot="6645040531";google_ad_width=300;google_ad_height=250......
  • Linux 网络收包流程
    哈喽大家好,我是咸鱼我们在跟别人网上聊天的时候,有没有想过你发送的信息是怎么传到对方的电脑上的又或者我们在上网冲浪的时候,有没有想过HTML页面是怎么显示在我们的电脑屏幕上的无论是我们跟别人聊天还是上网冲浪,其实都依靠于计算机网络这项技术计算机网络是指将多台计算机......
  • Linux系列---【Aerospike的介绍】
    Aerospike的介绍工作模式默认:混合闪存,支持HDD(机械硬盘)和SSD(固态硬盘),推荐SSD,性能好。......
  • Linux | export 命令
    Linuxexport命令是一个Bash命令,用于设置或显示环境变量。在shell中执行程序时,shell会提供一组环境变量,如PATH、PYTHONPATH等。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。语法export[-fnp][变量名称]=[变量设置值]......