📘
海思BSP·从原理到落地
🎯 30章 · 实战驱动
📚 海思芯片 Hi35xx 系列
✦ 友好色系 ✦
🧩 目录导航 · 点击卡片跳转章节
01
BSP开发概述
什么是BSP · 嵌入式角色 · 海思平台介绍 · 环境搭建 (交叉编译链/TFTP/NFS)
02
海思芯片启动流程
上电复位 · BootROM · Fastboot/Uboot · 内核启动 · 根文件系统挂载
03
Uboot移植与定制
源码结构 · 海思配置 · DDR/时钟 · 网口/串口驱动移植
04
Linux内核移植
内核获取配置 · 设备树(DTS) · 海思平台裁剪 · 编译烧录
05
设备树详解
DTS语法 · 节点属性 · 中断/GPIO/时钟/pinctrl · 设备树覆盖
06
海思SDK架构解析
SDK目录 · HiTool工具链 · Makefile体系 · 版本管理
07
内存管理
DDR映射 · MMU · CMA · ION · 硬件内存保护单元
08
中断系统
GIC控制器 · 中断号 · 处理流程 · 顶/底半部 · 共享嵌套
09
定时器与时钟
系统节拍 · HRTIMER · 硬件定时器 · 看门狗驱动
10
GPIO驱动开发
GPIO寄存器 · gpiolib · 中断触发 · 用户空间控制
11
I2C总线驱动
I2C控制器 · 核心层/适配器 · 设备驱动 · AT24C02实例
12
SPI总线驱动
SPI控制器 · 核心层 · 设备驱动 · SPI Flash (SF25R)
13
UART串口驱动
NS16550 · 串口核心层 · 波特率 · DMA · 控制台调试
14
DMA控制器驱动
DMA引擎 · 描述符 · 循环/散聚 · 性能优化
15
NAND Flash驱动
NAND控制器 · MTD · 坏块管理 · ECC · UBIFS
16
eMMC/SD卡驱动
MMC子系统 · eMMC协议 · 分区 · 高速模式 · 热插拔
17
以太网驱动
GMAC · PHY驱动 · 网络协议栈 · NAPI · 性能调优
18
USB驱动开发
EHCI/OHCI · Gadget · 设备枚举 · 批量/中断传输
19
显示与图形驱动
HDMI · LCD控制器 · Framebuffer · DRM/KMS · 多屏
20
视频编解码驱动
IVE · VENC/VDEC · MIPI · VI · VO
21
音频驱动
I2S · ALSA · ES8388 · 录音播放 · 音量控制
22
电源管理
DVFS · Suspend/Resume · 唤醒源 · 功耗优化
23
安全启动与加密
Secure Boot · OTP · HASH/AES/RSA · TrustZone
24
文件系统构建
Busybox · Yocto · Init进程 · ramdisk · squashfs
25
驱动调试技术
printk · JTAG · kgdb · ftrace · perf
26
性能优化
启动/内存/CPU优化 · 中断延迟 · Cache一致性
27
设备树覆盖与ACPI
DT Overlay · ACPI基础 · 海思平台应用
28
BSP测试与验证
KUnit · 压力测试 · 稳定性 · 硬件兼容性
29
产品化与量产
烧录工具 · 固件加密签名 · 产测 · OTA升级
30
实战项目:AI摄像头BSP
Hi3516DV300 · 从零开始 · 驱动集成 · 系统落地