ARM TrustZone
本文从 TrustZone 的设计动机出发,逐层讲清楚两个世界是如何隔离的、世界切换是怎么工作的、这套硬件机制为什么能保证 Normal world 绝对碰不到 Secure 资源,以及作为 Normal world 的程序员——即使你一行安全代码都不写——你写的代码行为会受到哪些影响。
本文从 TrustZone 的设计动机出发,逐层讲清楚两个世界是如何隔离的、世界切换是怎么工作的、这套硬件机制为什么能保证 Normal world 绝对碰不到 Secure 资源,以及作为 Normal world 的程序员——即使你一行安全代码都不写——你写的代码行为会受到哪些影响。
从汇编指令 WFI/WFE 出发,沿着 Standby → Retention → Power Down 的空闲状态谱系,经 DVFS 动态调节与 Hotplug 核心下线,最终收敛到 PSCI 接口在多特权级系统中的协调机制——本文覆盖 ARMv7-A 电源管理的完整技术栈。
从线程模型与 Pthreads 入手,覆盖 Linux 内核同步原语、LDREX/STREX 原子操作,以及 false sharing、死锁、cache thrashing 等常见多核性能陷阱。
本文从 Cache 一致性协议底层原理出发,剖析 ARMv7-A 架构下基于 LDREX/STREX 的独占访存与同步原语。
本文梳理 ARM Cortex-A 系列代码优化技术,按三个层级递进展开:编译器选项、内存子系统优化、源码级微调。
本文介绍 ARM profiling 的基本概念与 ARM 平台上的工具链。
本文系统梳理了向 ARMv7 平台移植代码时最常见的跨架构问题:端序差异如何导致静默数据错误、ARMv4 与 ARMv7 非对齐访问行为的不兼容、C 语言实现定义行为在不同编译器间的分歧,以及 ARM 汇编与 Thumb-2 互操作的关键约束。
本文逐指令分析 Cortex-A 裸机系统的核心初始化序列,深入拆解从处理器上电复位、建立异常向量表、配置 Cache 和 MMU,直至移交控制权给 Linux 内核的完整技术路径。