取之于網(wǎng),用之于網(wǎng)。本為過(guò)路人,姑且搬運(yùn)中。
Qualcomm(QC):高通
Android:安卓
GHS(GreenHills):格林希爾
QNX(Quick Unix):黑莓旗下一款商業(yè)實(shí)時(shí)操作系統(tǒng)。
IFS(Image Filesystem/The Initial File System):鏡像文件系統(tǒng)。也就QNX的OS鏡像專(zhuān)用名,相當(dāng)于android中常說(shuō)的img。它包含了startup、procnto、driver、lib、app。在IPL后開(kāi)始運(yùn)行。
IPL(Initial Program Loader):初始化程序引導(dǎo)。QNX最早起來(lái)的部分。類(lèi)似Android的uboot。對(duì)硬件進(jìn)行最低限度的配置,以便后面IFS中的startup能順利運(yùn)行。
????????IPL的初始化部分是用匯編實(shí)現(xiàn)的(內(nèi)存控制器還未初始化,所以它只能從ROM執(zhí)行),初始化硬件之后,IPL調(diào)用main()函數(shù)來(lái)初始化C語(yǔ)言環(huán)境。最后開(kāi)始加載startup到ram。
QRD (Qualcomm Reference Design):高通參考設(shè)計(jì)
AOP(Always on processor):實(shí)時(shí)響應(yīng)處理器
SP(Secure Processor):安全處理器
AVB(Android Verified Boot):安卓開(kāi)機(jī)檢驗(yàn)啟動(dòng)
SHRM(System Hardware Resource Manager):系統(tǒng)硬件資源管理器
PBL(Primary Boot Loader):主引導(dǎo)加載程序
XBL(eXtensible boot loader / Secondary bootloader):擴(kuò)展引導(dǎo)加載程序
ABL(Application bootloader):應(yīng)用引導(dǎo)程序。主要應(yīng)用于android。
????????高通在MSM8998上引入了UEFI,用來(lái)代替LK(Little?Kernel)。高通UEFI由XBL和ABL兩部分組成。XBL負(fù)責(zé)芯片驅(qū)動(dòng)及充電等核心應(yīng)用功能。ABL包括芯片無(wú)關(guān)的應(yīng)用如fastboot。XBL核心是none-HLOS?boot_image代碼的一部分,屬于高通私有代碼。ABL則在開(kāi)源Linux?Android代碼樹(shù)里。LK的設(shè)備驅(qū)動(dòng)都放在了XBL核心,Linux加載啟動(dòng)及fastboot等功能組件則作為獨(dú)立的UEFI應(yīng)用存在。
dm-verity(Device-Mapper-Verity):物理邏輯設(shè)備映射校驗(yàn)
RPM(Resource Power Manager):資源電源管理器。高通MSM平臺(tái)另外加的一塊芯片,雖然與AP芯片打包在一起,但其是一個(gè)獨(dú)立的ARM Core。之所以加這個(gè)東西,就是要控制整個(gè)電源相關(guān)的shared resources,比如ldo,clock。負(fù)責(zé)與SMP,MPM交互進(jìn)入睡眠或者喚醒整個(gè)系統(tǒng)。
L2 TCM(Tightly-Coupled Memory):緊耦合內(nèi)存
QTI(Qualcomm Technologies, Inc):高通技術(shù)公司
PIL(Peripheral image loader):外設(shè)鏡像加載程序
AMBA(Advanced Microcontroller Bus Architecture):高級(jí)微控制器總線結(jié)構(gòu)。ARM新推的片上高級(jí)總線標(biāo)準(zhǔn)。包含了AHB系統(tǒng)總線和APB外圍總線。提供的一種特殊的機(jī)制,可以將RISC處理器集成在其他IP芯核和外設(shè)中,它是有效連接IP核的“數(shù)字膠”,并且是ARM復(fù)用策略的重要組件。它不是芯片與外設(shè)之間的接口,而是ARM內(nèi)核與芯片上其他元件進(jìn)行通信的接口。
AHB(Advanced High performance Bus):高性能系統(tǒng)總線。AMBA規(guī)范中的系統(tǒng)總線標(biāo)準(zhǔn)。高數(shù)據(jù)吞吐,連接SRAM、CPU、DSP、DMA等。
APB(Advanced Peripheral Bus):高級(jí)外設(shè)總線。AMBA的外設(shè)總線標(biāo)準(zhǔn),為系統(tǒng)的低速外部設(shè)備提供低功耗的簡(jiǎn)易互連。連接UART、中斷、GPIO、定時(shí)器等
ASB(Advanced System Bus):AMBA早期系統(tǒng)總線。用來(lái)作處理器與外設(shè)之間的互連,已被AHB取代。
SMEM (Shared Memory):? 共享內(nèi)存
PMEM(Persistent?Memory):常駐內(nèi)存。預(yù)留物理內(nèi)存塊,給audio、adsp等專(zhuān)用。
ION():android 4推出的一個(gè)通用的內(nèi)存管理器,PMEM升級(jí)版。用于解決內(nèi)存管理器碎片化問(wèn)題??缈臻gzero-copy共享,SurfaceFlinger、Camera、Audio等均使用此分配內(nèi)存。
MBA(Modem Boot Authenticator):調(diào)制解調(diào)器引導(dǎo)認(rèn)證
VPU(Video processing unit):視頻處理單元
HLOS(High-level operation system):高級(jí)操作系統(tǒng)
Pronto image:
APS(Application processor Sub System):應(yīng)用處理器子系統(tǒng)
QVM(QNX Cirtual Machine):QNX虛擬機(jī)
GVM(Guest Cirtual Machine):客戶/來(lái)賓虛擬機(jī)
HYP(hypervisor):虛擬機(jī)管理器
HAB(Hypervisor ABstraction):虛擬機(jī)管理器抽象層。是高通用于連接guest os到hypervisor的核心框架。
UHAB(User Hypervisor Abstraction):用戶空間(客戶端)虛擬機(jī)管理器抽象層。
RPC(remote procedure call) :遠(yuǎn)程過(guò)程調(diào)用
CA(certificate authority):認(rèn)證中心
QCSBL(qualcomm second bootloader)? :?
OEMSBL(oem second bootloader)? :?
AMSS(Advanced Mobile Subscriber Software)? :?
AIS(Automotive Imaging System):汽車(chē)成像系統(tǒng)。高通camera hal往下就是它了。
ICP(Image control processor):攝像頭控制處理器
CSI(Camera Serial Interface):相機(jī)串口
CCI(Camera Control Interface):相機(jī)控制接口
SDI(System Debug Image):系統(tǒng)調(diào)用鏡像
MCP(Main control program):主控程序
DDR(double data rate):
CSMS(Code Signing Management System):
QTEE(QualcommTrusted Execution Environment):高通安全執(zhí)行環(huán)境
QSEE(Qualcomm Secure Execution Environment) :??
QHEE(Qualcomm Hypervisor Execution Environment) :? 高通虛擬機(jī)執(zhí)行環(huán)境
TZBSP(?TrustZone BSP):
HS-USB(High-Speed Universal Serial Bus):
SBL1(Scondary Boot Loader Stage1):
MSS(Mobile Subscriber Software):移動(dòng)用戶軟件
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):可執(zhí)行鏈接格式??稍赨FS上直接執(zhí)行。
PBM: Phonebook Manager
ECU(Electronic Control Unit/Engine Control Unit):電子控制單元/引擎控制單元。
LK(Little Kernel):微內(nèi)核
FSG: A golden file system
TPL(Task priority level):任務(wù)任先級(jí)
FLCB(Fast Low Current Boot):
EDK(Enterprise development kit):企業(yè)工發(fā)工具
DXE(Driver execution environment):驅(qū)動(dòng)執(zhí)行環(huán)境
modemst: modem efs partition
EDL:?Emergency Download
PMIC(Power management integrated circuit):電源管理集成電路
mbn: Modem Configuration binary
IMEM(intel-memory):內(nèi)部存儲(chǔ)
OCIMEM(On-chip intel-memory):片上內(nèi)部存儲(chǔ)
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):統(tǒng)一可擴(kuò)展固件接口。配合gpt替代bios+mbr成為大勢(shì)所趨。更多的容量支持,更安全的引導(dǎo)。支持C程序,直接讀取FAT的便利,是BIOS完全無(wú)法比擬的。
UFS(Universal flash storage):通用閃存標(biāo)準(zhǔn)。主要以JEDEC自己和MIPI相關(guān)協(xié)議為主。相比EMMC擁有全雙工、差分異步串行等優(yōu)勢(shì)。?
LUN(Logical Unit):邏輯單元。UFS中使用的術(shù)語(yǔ)。
GUID(Globally unique identifier):全局唯一標(biāo)識(shí)
MP(Multi processing):多核
BSP(Board Support Package):板級(jí)支持包。
HHBSP(Hypervisor Host BSP):虛擬機(jī)的板級(jí)支持包
GIC(General Interrupt Controller):通用中斷控制器。ARM上的中斷控制,通過(guò)AMBA連接到CPU上。
PIC(Programmable Interrupt Controller):程序中斷控制器。也就是Intel 8259A雙片級(jí)聯(lián)構(gòu)成的最多支持15個(gè)interrupts的中斷控制系統(tǒng)。
APIC(Advanced Programmable Interrupt Controller):高級(jí)程序中斷控制器。包括IOAPIC和LAPIC。IOAPIC用于南橋控制IO中斷,LAPIC存在于每個(gè)CPU中管理bus過(guò)來(lái)的中斷。替代PIC。
HPET(High Precision Event Timer):高精度定時(shí)器。替換8254和RTC等。
PIT(Programmable Interval Timer):可編程計(jì)時(shí)器。定時(shí)產(chǎn)生中斷。早期的PIT如:8254。
DTB(Device Tree Blob):二進(jìn)制設(shè)備樹(shù)。dts文件通過(guò)dtc編譯成的二進(jìn)制。dts是描述設(shè)備樹(shù)的可讀性高的文件。
????????早期的linux kernel包含了對(duì)硬件的描述,現(xiàn)在DTB則將硬件描述獨(dú)立成了二進(jìn)制文件。這樣bootloader就不止要load kernel image和ramdisk?image還要load dtb,然后轉(zhuǎn)交給kernel展開(kāi)。
????????DTB的起源還得源自Torvalds的介入,2011年3月17日 Torvalds?爆了口,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥著大量的垃圾代碼,認(rèn)為板級(jí)這種事情不應(yīng)歸在Kernel中。比如s3c2410、s3c6410等板級(jí)目錄,代碼量在數(shù)萬(wàn)行。這時(shí),PowerPC等其他體系架構(gòu)下已經(jīng)使用的Flattened Device Tree(FDT)進(jìn)入ARM社區(qū)的視野 。device tree?由一系列被命名的結(jié)點(diǎn)和屬性組成,你可以想象成畫(huà)了一棵電路板上CPU、總線、設(shè)備組成的樹(shù)。
FDT(Flattened Device Tree):扁平設(shè)備樹(shù)。
FTL(Flash Translation Layer device):帶Flash控制器的設(shè)備。比如有:SD、eMMC、SSD、USB、UFS。比如FAT、EXT3/4、XFS和Btrfs支持FTL設(shè)備。FTL設(shè)備位于/proc/mtdblock。
RFD(Raw Flash device):Flash芯片設(shè)備(也就是不帶Flash控制器的設(shè)備,等同于MTD)。比如有:NOR Flash、NAND Flash設(shè)備。比如:JFFS2、YAFFS2、UBIF、LogFS這些文件系統(tǒng)支持MTD設(shè)備。
MTD(Memory Technology Device):內(nèi)存技術(shù)設(shè)備。等同RFD,一種linux特性。MTD位于/proc/mtd。
UBI(Unsorted Block Images):未排序塊鏡像。指的是UBI subsystem,其工作在MTD設(shè)備上,是MTD設(shè)備的高層次表示,對(duì)上屏蔽了一些MTD需要處理的問(wèn)題,如磨損均衡和壞塊處理。ubi子系統(tǒng)可以理解為ubifs的驅(qū)動(dòng)層,它在文件系統(tǒng)層和MTD層之間起到銜接作用。有效管理MTD壞塊。
DMS(Drive Monitor System):駕駛員監(jiān)控系統(tǒng)
UDS(Unified Diagnostic Services):統(tǒng)一診斷服務(wù)。是ISO 15765 和ISO 14229 定義的一種汽車(chē)通用診斷協(xié)議,位于OSI模型中的應(yīng)用層,它可在不同的汽車(chē)總線(例如CAN, LIN, Flexray, Internet 和K-line)上實(shí)現(xiàn)。目前各車(chē)廠主流采用的基于can的UDS協(xié)議。
References: