学习资料来源于: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负责双系统的切换: 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