首页 > 其他分享 >ATF基本术语

ATF基本术语

时间:2024-03-19 12:44:35浏览次数:30  
标签:ATF 基本 术语 Firmware BL3 AP SCP MCP

学习资料来源于:https://www.bilibili.com/video/BV1Ky421i7Dp/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=432ba293ecfc949a4174ab91ccc526d6   ATF是ARM开发和维护的,专门为Armv7及以后得cortex-A处理的firmware,目前最新版本为v2.9 ATF是ARM Trusted Firmware,为了和cortex-M的firmware区分,现在改名为TF-A   ATF基本术语: AP:application processor SCP:system contoller processor,就是一个MCU,就是一个Cortex-M的核,系统控制管理的核   BL1、BL2、BL3-1、BL3-2、BL3-3都是跑在A核的 AP_BL3_XXX:other AP 3rd level image,XXX不是数字,例如:AP_BL3_ARM_RAS 不区分大小写,bl1和Bl1是一个意思 SCP_BL1:SCP Boot ROM(previously BL0) SCP_BL2:SCP RAM Firmware(previously BL3-0)   Firmware Update(FMU)Images AP_NS_BL1U:AP Firmware update boot rom AP_BL2U:AP Firmware Update Config SCP_BL2U:SCP Firmware Update Config AP_NS_BL2U:AP Firmware Updater   Other Processor Firmware Images -For Management Control Processor(MCP) MCP_BL1:MCP Boot ROM MCP_BL2:MCP RAM Firmware   b1:bootrom bl2:bl1之后第一个启动镜像 bl3以后就是runtime,runtime就是及其跑的过程中CPU可以直接切过来 bl1-bl2:boot阶段,开机的时候负责初始化,跑完之后就从内存中消失了 bl31:runtime的ATF,ATF核心,早期说的ATF也就是指ATF31 大多数芯片公司的BL31才开始用ATF,BL1-BL2都是芯片工作自己设计 bl32是tus,bl33是bootloader   ATF里面有什么?ATF的feature有哪些? 1、EL3的初始化,如向量表、寄存器、中断的初始化 2、cpu reset、power down、Arm DynamIQ CPUs支持 3、支持一些System IP drivers、如GIC(generic interrupt controller)、CCI(cache coherent interconnect)、CCN(cache coherent network)、NIC(network interconnect)、TZC(trustzone controller) 4、一个通用的SCMI驱动程序,例如SCP 5、SMC(secure monitor call)处理,使用EL3 runtime框架符合SMC调用约定,也就是SMCCC标准 6、PSCI库支持CPU 7、Reliability、Availability、Serviceability(RAS)功能支持 8、Secure Monitor Code,context switch、SPD和SP交互 等等   下图展示了android手机上指纹调用时,ATF负责双系统的切换: 0 ATF主要功能: 1、ARM trustzone技术下的架构实现的软件 2、开机的引导(secure boot) 3、电源管理/psci 4、运行时双系统切换 5、一些IP driver的实现和初始化                  

标签:ATF,基本,术语,Firmware,BL3,AP,SCP,MCP
From: https://www.cnblogs.com/lethe1203/p/18082524

相关文章

  • [学习记录]带头指针的单向链表的基本功能
    效果代码#include"stdio.h"#include"stdlib.h"typedefstructlinknode{ intdata; structlinknode*next;}LinkNode;LinkNode*CreateHeadNode(void);//创建头结点voidCreateNewNode(LinkNode*H);//创捷节点voidPrintList(LinkNode*H);//打印链表v......
  • 数学建模基本知识点
    1.建模准备2.建模基础算法3.经典模型4.论文书写......
  • MarkDown最基本语法
    c语言程序设计——实验报告一实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Wi......
  • 学习笔记——C语言基本概念&运算符——(2)
    目录一、运算符1.1赋值运算符1.2算数运算符 1.3关系运算符1.5位运算符1.6 自增自减运算符1.7  复合运算符1.8逗号运算符1.9 三目运算符1.10 sizeof运算符附录:运算符优先性表一、运算符1>.按照操作数目分类:单目运算符,双目运算符,三目运算符。2>......
  • 数学建模--MATLAB基本使用
    1.线性方程组这个是一个线性方程组(属于线性代数的范畴),Ax=b类型的方程,如果使用MATLAB进行求解,就需要分别表示A矩阵(线性方程组未知数前面的系数),b矩阵(表示等式右边的结果),inv是这个软件里面的一个函数,用来进行求解A的逆矩阵,因为Ax=b,那么x=A-1次方乘上b另外,我们也可以使用这个......
  • Go01-开发环境搭建+注释+基本数据类型+指针+命名规范
    Go01-开发环境搭建+注释+基本数据类型+指针+命名规范1.Go常用网站https://www.topgoer.com/,Go学习网站,包含Go基础教程、beego、lris等Go开发常用框架。Go开发软件下载:https://code.visualstudio.com/,VSCode;https://www.jetbrains.com/zh-cn/go/,GOLand。https://studygolang.c......
  • 【STL】list的基本操作
    #include<bits/stdc++.h>usingnamespacestd;constintMAXN=2e5+10;boolcmp(intx,inty){ returnx>y;}signedmain(){ list<int>lst;//建立 for(inti=1;i<=6;i++){ lst.push_back(i); }//尾插 for(inti=10;i>=8;i--){ lst.push_front(i......
  • 【机器学习-01】机器学习基本概念与建模流程
      机器学习的过程本质上是一个不断通过数据训练来提升模型在对应评估指标上表现的过程。在此过程中,为模型提供有效的反馈并基于这些反馈进行持续的调整是至关重要的。只有当这个过程顺利进行时,模型才能得到有效的训练,机器才能真正实现学习。  虽然从广义上理解机器学习......
  • Linux命令大全:Linux命令的基本结构,常用命令的用法演示,以及一些常用Linux命令,帮助你更
    1.1Linux命令结构语法:命令名[选项][参数...]命令存在哪些选项,需要查看帮助信息,查看帮助信息方式:1)命令--help2)man命令 3)info命令,包含了用法和参数说明4)whatis命令,查看命令的简短描述如:查看ls的选项和用法ls--help 或manls如2:多......
  • js的基本使用
    1什么是javascriptJavaScript是一门世界上最流行的脚本语言2快速入门内部标签使用<script> //.........</script>外部标签使用abs.js<scriptsrc="abs.js"></script>2.1数据类型=变量=vara//不能数字开头数值,文本,图形,音频,视频。。。。numberjs不区分......