取之于网,用之于网。本为过路人,姑且搬运中。
Qualcomm(QC):高通
Android:安卓
GHS(GreenHills):格林希尔
QNX(Quick Unix):黑莓旗下一款商业实时操作系统。
IFS(Image Filesystem/The Initial File System):镜像文件系统。也就QNX的OS镜像专用名,相当于android中常说的img。它包含了startup、procnto、driver、lib、app。在IPL后开始运行。
IPL(Initial Program Loader):初始化程序引导。QNX最早起来的部分。类似Android的uboot。对硬件进行最低限度的配置,以便后面IFS中的startup能顺利运行。
IPL的初始化部分是用汇编实现的(内存控制器还未初始化,所以它只能从ROM执行),初始化硬件之后,IPL调用main()函数来初始化C语言环境。最后开始加载startup到ram。
QRD (Qualcomm Reference Design):高通参考设计
AOP(Always on processor):实时响应处理器
SP(Secure Processor):安全处理器
AVB(Android Verified Boot):安卓开机检验启动
SHRM(System Hardware Resource Manager):系统硬件资源管理器
PBL(Primary Boot Loader):主引导加载程序
XBL(eXtensible boot loader / Secondary bootloader):扩展引导加载程序
ABL(Application bootloader):应用引导程序。主要应用于android。
高通在MSM8998上引入了UEFI,用来代替LK(Little Kernel)。高通UEFI由XBL和ABL两部分组成。XBL负责芯片驱动及充电等核心应用功能。ABL包括芯片无关的应用如fastboot。XBL核心是none-HLOS boot_image代码的一部分,属于高通私有代码。ABL则在开源Linux Android代码树里。LK的设备驱动都放在了XBL核心,Linux加载启动及fastboot等功能组件则作为独立的UEFI应用存在。
dm-verity(Device-Mapper-Verity):物理逻辑设备映射校验
RPM(Resource Power Manager):资源电源管理器。高通MSM平台另外加的一块芯片,虽然与AP芯片打包在一起,但其是一个独立的ARM Core。之所以加这个东西,就是要控制整个电源相关的shared resources,比如ldo,clock。负责与SMP,MPM交互进入睡眠或者唤醒整个系统。
L2 TCM(Tightly-Coupled Memory):紧耦合内存
QTI(Qualcomm Technologies, Inc):高通技术公司
PIL(Peripheral image loader):外设镜像加载程序
AMBA(Advanced Microcontroller Bus Architecture):高级微控制器总线结构。ARM新推的片上高级总线标准。包含了AHB系统总线和APB外围总线。提供的一种特殊的机制,可以将RISC处理器集成在其他IP芯核和外设中,它是有效连接IP核的“数字胶”,并且是ARM复用策略的重要组件。它不是芯片与外设之间的接口,而是ARM内核与芯片上其他元件进行通信的接口。
AHB(Advanced High performance Bus):高性能系统总线。AMBA规范中的系统总线标准。高数据吞吐,连接SRAM、CPU、DSP、DMA等。
APB(Advanced Peripheral Bus):高级外设总线。AMBA的外设总线标准,为系统的低速外部设备提供低功耗的简易互连。连接UART、中断、GPIO、定时器等
ASB(Advanced System Bus):AMBA早期系统总线。用来作处理器与外设之间的互连,已被AHB取代。
SMEM (Shared Memory): 共享内存
PMEM(Persistent Memory):常驻内存。预留物理内存块,给audio、adsp等专用。
ION():android 4推出的一个通用的内存管理器,PMEM升级版。用于解决内存管理器碎片化问题。跨空间zero-copy共享,SurfaceFlinger、Camera、Audio等均使用此分配内存。
MBA(Modem Boot Authenticator):调制解调器引导认证
VPU(Video processing unit):视频处理单元
HLOS(High-level operation system):高级操作系统
Pronto image:
APS(Application processor Sub System):应用处理器子系统
QVM(QNX Cirtual Machine):QNX虚拟机
GVM(Guest Cirtual Machine):客户/来宾虚拟机
HYP(hypervisor):虚拟机管理器
HAB(Hypervisor ABstraction):虚拟机管理器抽象层。是高通用于连接guest os到hypervisor的核心框架。
UHAB(User Hypervisor Abstraction):用户空间(客户端)虚拟机管理器抽象层。
RPC(remote procedure call) :远程过程调用
CA(certificate authority):认证中心
QCSBL(qualcomm second bootloader) :
OEMSBL(oem second bootloader) :
AMSS(Advanced Mobile Subscriber Software) :
AIS(Automotive Imaging System):汽车成像系统。高通camera hal往下就是它了。
ICP(Image control processor):摄像头控制处理器
CSI(Camera Serial Interface):相机串口
CCI(Camera Control Interface):相机控制接口
SDI(System Debug Image):系统调用镜像
MCP(Main control program):主控程序
DDR(double data rate):
CSMS(Code Signing Management System):
QTEE(QualcommTrusted Execution Environment):高通安全执行环境
QSEE(Qualcomm Secure Execution Environment) :
QHEE(Qualcomm Hypervisor Execution Environment) : 高通虚拟机执行环境
TZBSP( TrustZone BSP):
HS-USB(High-Speed Universal Serial Bus):
SBL1(Scondary Boot Loader Stage1):
MSS(Mobile Subscriber Software):移动用户软件
WCD(wafer codec/decodec):
WCN(wireless connectivity network):
WTR(Wafer Transceiver):
RTR: Radio Transceiver
QCA: Qualcomm Atheros
QFE: Qualcomm Front-end
RFFE: Radio Frequency Front-end
HDET: High Power Detector
ASM: Anntena Switch Module
MTP: Modem Test Platform
CDP: Core Development Platform
FFA: Form Factor Accurate
SURF: Subscriber Unit Reference Platform
XPU: Embedded Memory Protected Unit
UniPro: Universal Protocol
eMMC(embedded multimedia card):
FLCB: Fast Low Current Boot
MSM: Mobile Station Modem
MSS(modem subsystem):
APQ: Application Processor Qualcomm
SRLTE: Simultaneous Radio and LTE
QSD: Qualcomm Snapdragon
MDM: Mobile Data Modem
MPQ: Media Processor Qualcomm
QSC: Qualcomm Single Chip
PnP: Plug and Play
ELF(executable and linking format):可执行链接格式。可在UFS上直接执行。
PBM: Phonebook Manager
ECU(Electronic Control Unit/Engine Control Unit):电子控制单元/引擎控制单元。
LK(Little Kernel):微内核
FSG: A golden file system
TPL(Task priority level):任务任先级
FLCB(Fast Low Current Boot):
EDK(Enterprise development kit):企业工发工具
DXE(Driver execution environment):驱动执行环境
modemst: modem efs partition
EDL: Emergency Download
PMIC(Power management integrated circuit):电源管理集成电路
mbn: Modem Configuration binary
IMEM(intel-memory):内部存储
OCIMEM(On-chip intel-memory):片上内部存储
CV: customer visit
FFBM: fast factory boot mode
IPO: instant power on
OU(organizational unit name):
AArch64(ARM Architecture, 64-bit):
UEFI(Unified extensible firmware interface):统一可扩展固件接口。配合gpt替代bios+mbr成为大势所趋。更多的容量支持,更安全的引导。支持C程序,直接读取FAT的便利,是BIOS完全无法比拟的。
UFS(Universal flash storage):通用闪存标准。主要以JEDEC自己和MIPI相关协议为主。相比EMMC拥有全双工、差分异步串行等优势。
LUN(Logical Unit):逻辑单元。UFS中使用的术语。
GUID(Globally unique identifier):全局唯一标识
MP(Multi processing):多核
BSP(Board Support Package):板级支持包。
HHBSP(Hypervisor Host BSP):虚拟机的板级支持包
GIC(General Interrupt Controller):通用中断控制器。ARM上的中断控制,通过AMBA连接到CPU上。
PIC(Programmable Interrupt Controller):程序中断控制器。也就是Intel 8259A双片级联构成的最多支持15个interrupts的中断控制系统。
APIC(Advanced Programmable Interrupt Controller):高级程序中断控制器。包括IOAPIC和LAPIC。IOAPIC用于南桥控制IO中断,LAPIC存在于每个CPU中管理bus过来的中断。替代PIC。
HPET(High Precision Event Timer):高精度定时器。替换8254和RTC等。
PIT(Programmable Interval Timer):可编程计时器。定时产生中断。早期的PIT如:8254。
DTB(Device Tree Blob):二进制设备树。dts文件通过dtc编译成的二进制。dts是描述设备树的可读性高的文件。
早期的linux kernel包含了对硬件的描述,现在DTB则将硬件描述独立成了二进制文件。这样bootloader就不止要load kernel image和ramdisk image还要load dtb,然后转交给kernel展开。
DTB的起源还得源自Torvalds的介入,2011年3月17日 Torvalds 爆了口,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,认为板级这种事情不应归在Kernel中。比如s3c2410、s3c6410等板级目录,代码量在数万行。这时,PowerPC等其他体系架构下已经使用的Flattened Device Tree(FDT)进入ARM社区的视野 。device tree 由一系列被命名的结点和属性组成,你可以想象成画了一棵电路板上CPU、总线、设备组成的树。
FDT(Flattened Device Tree):扁平设备树。
FTL(Flash Translation Layer device):带Flash控制器的设备。比如有:SD、eMMC、SSD、USB、UFS。比如FAT、EXT3/4、XFS和Btrfs支持FTL设备。FTL设备位于/proc/mtdblock。
RFD(Raw Flash device):Flash芯片设备(也就是不带Flash控制器的设备,等同于MTD)。比如有:NOR Flash、NAND Flash设备。比如:JFFS2、YAFFS2、UBIF、LogFS这些文件系统支持MTD设备。
MTD(Memory Technology Device):内存技术设备。等同RFD,一种linux特性。MTD位于/proc/mtd。
UBI(Unsorted Block Images):未排序块镜像。指的是UBI subsystem,其工作在MTD设备上,是MTD设备的高层次表示,对上屏蔽了一些MTD需要处理的问题,如磨损均衡和坏块处理。ubi子系统可以理解为ubifs的驱动层,它在文件系统层和MTD层之间起到衔接作用。有效管理MTD坏块。
DMS(Drive Monitor System):驾驶员监控系统
UDS(Unified Diagnostic Services):统一诊断服务。是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它可在不同的汽车总线(例如CAN, LIN, Flexray, Internet 和K-line)上实现。目前各车厂主流采用的基于can的UDS协议。
References: