📱 MTK启动·Bootloader 30章

⚡ 系统启动 · 深度解析 v2.0
01MTK平台概述
📟 芯片发展史📊 市场地位⚙️ 特性与优势
02系统启动流程概览
🔋 电源键到桌面📌 四阶段🧩 ROM/Preloader/U-Boot/Kernel
03硬件初始化基础
🧠 ARM Cortex-A🔌 总线架构⏱️ 时钟与复位
04BootROM详解
💾 物理位置/存储🎛️ 启动模式选择⚡ 初始化流程
05Preloader阶段 (上)
📥 加载与执行📁 代码结构🧮 DRAM初始化
06Preloader阶段 (下)
🔌 UART/GPIO/PMIC⬇️ 下载模式🔐 签名验证
07U-Boot阶段 (上)
⚒️ 编译与配置🚀 start.S→board_init🌲 设备树支持
08U-Boot阶段 (下)
⌨️ 命令行界面📦 环境变量⚡ fastboot & AB升级
09LK (Little Kernel) 详解
🔁 与U-Boot关系📐 启动流程🖥️ 显示/触摸初始化
10Kernel启动准备
📦 Boot Image格式📎 加载地址/解压📂 Ramdisk作用
11Linux Kernel启动 (上)
🏁 stext入口📄 页表初始化⚡ 中断向量表/CPU模式
12Linux Kernel启动 (中)
🧠 memblock内存管理📅 调度器初始化⏲️ 定时器初始化
13Linux Kernel启动 (下)
🔧 do_initcalls驱动📁 文件系统挂载🚀 init进程启动
14init进程与Android系统
⚙️ /init启动📜 init.rc解析🧬 Zygote/SystemServer
15MTK特有的启动优化
⚡ Quick Boot❄️ 冷/热启动📊 启动时间分析
16安全启动 (Secure Boot)
🔗 信任链🛡️ RSA/SHA签名🚫 Anti-Rollback
17TrustZone与TEE
🛡️ ARM TrustZone🔐 OP-TEE实现🔄 世界切换
18下载模式与刷机
🛠️ SP Flash Tool📟 DA作用📡 UART/USB协议
19NVRAM与校准数据
🗂️ NVRAM分区📱 IMEI/SN存储📖 读写流程
20分区表解析
🧩 MTK分区布局💽 GPT格式📐 动态调整
21eMMC与UFS存储
💾 eMMC协议🚀 UFS协议⚡ MTK & 性能优化
22PMIC与电源管理
🔋 MT6358/6360⚡ 上电时序🔌 Pump Express充电
23时钟与频率管理
🌲 时钟树📈 DVFS CPU/GPU🔁 总线频率调节
24显示子系统初始化
🖥️ Display Controller📺 MIPI DSI🎬 LCD面板/开机动画
25触摸屏与输入系统
👆 I2C/SPI驱动📐 触摸校准⌨️ Input Subsystem
26传感器与外围设备
📳 加速度计/陀螺仪🧠 Sensor HAL🌀 Sensor Hub
27WiFi/BT/GPS/NFC启动
📶 连接芯片固件📡 WiFi/BT协议栈🛰️ GPS定位引擎
28Camera子系统初始化
📷 ISP初始化🔬 Sensor驱动📸 Camera HAL
29音频子系统初始化
🎵 Audio DSP固件🎚️ 音频编解码器🔊 音频通路建立
30启动问题调试与实战
🐞 黑屏/定屏/重启📋 UART/ADB日志🔌 JTAG调试