Host-Fake
逻辑分析仪:从数字边沿建立可信的时序证据
能够设计并审计一次 STM32F407xx 数字信号的逻辑分析仪采集:由定时器时钟与输出配置预测边沿,以采样率、触发和多通道时间基约束读数,并区分模拟电气问题、软件标记与真实硬件事件的证据边界。
栈:从 SP(栈指针)与内存边界到可信的调用现场
24034 字·48 分钟
核心目标:建立以 SP、栈边界和编译产物交叉验证栈使用量与调用现场的证据方法,并为 STM32F407xx 规划可核对但尚未上板的最小采样与调试路径。 新核心概念:栈边界与动态使用量的证据边界;调用现场重建的证据边界。
故障分析:把异常现场变成可证伪的证据链
17330 字·35 分钟
核心目标:规划一节故障分析课:用异常入口保存的状态寄存器、堆栈帧和故障指令地址建立可证伪的故障证据链,并在 STM32F407xx 上形成待目标工程验证的最小 HardFault 现场采集路径。新核心概念:异常入口的故障现场快照与有效性边界;从故障状态到可证伪根因假设的证据链。
断点与观察点:以触发条件取得可审计现场
15719 字·32 分钟
核心目标:建立断点与观察点作为可审计触发条件的心智模型:区分指令地址触发和数据访问触发,评估它们对执行时序的扰动,并为 STM32F407xx 制定来源可核对的调试验证方案。新核心概念:断点的指令地址触发与停止边界;观察点的数据访问触发与资源边界。
寄存器视图:有时序、可证伪的观测证据
14224 字·29 分钟
核心目标:建立寄存器视图作为有时序、可证伪的观测证据这一心智模型,并据此为 STM32F407xx 的时钟、定时器、DMA 与外设状态设计可重复的调试观察流程。新核心概念:寄存器视图的取样语义与证据边界。
外设集成实验:采集批次到串行 DMA 的有界交接
17549 字·36 分钟
建立采集批次交给传输 DMA 时的端到端有界所有权与背压边界,并用 C11 Host Fake 验证正常交接、超期、停源和恢复,以 STM32F407xx 的 TIM2-ADC1-DMA2 到 USART2-DMA1 参考链核对时钟、CubeMX、HAL、LL、寄存器与迁移边界。
高级控制定时器:互补 PWM 安全输出链
16826 字·34 分钟
建立高级控制定时器的互补 PWM 安全输出链,用 C11 Host Fake 验证非重叠、故障锁存和显式恢复,并以 STM32F407xx 的 TIM1 核对时钟、CubeMX、HAL、LL、寄存器、刹车 IRQ 和硬件验证边界。
DMA 传输引擎与传输契约
15878 字·32 分钟
以双轨方式建立 DMA 传输契约:Host Fake 验证请求、计数、循环缓冲区和错误路径;STM32F407xx 参考实现把 ADC1 请求落实到 DMA2 Stream0/Channel0,给出 168/84/21 MHz 时钟链、CubeMX 配置、HAL 初始化与回调、LL/寄存器对照和上板验证边界。
ADC 采样、量化与数字码交付的测量闭环
8891 字·18 分钟
用平台无关的 Host Fake 建立 ADC 单次转换闭环:输入在采样保持边界冻结,按参考范围和分辨率量化为有界数字码,经完成状态交付给调用方;通过事件日志、断言和故障注入验证逻辑,同时明确真实 STM32 电气、寄存器和 HAL 行为仍需按目标系列第一方资料核对。
I2C 共享双线事务:主机发起与从机响应的状态机
10098 字·21 分钟
建立平台无关的 I2C 共享双线事务模型:主机取得总线、发送地址和读写方向、处理 ACK/NACK、完成写入或读取并以 STOP 释放总线;通过 Host Fake 的开漏线路模型、事件日志、断言和故障注入验证调用流,不把逻辑验证当作 STM32 硬件证据。
SPI 同步事务闭环:全双工交换与片选边界
10205 字·21 分钟
建立可迁移的 SPI 同步事务模型:解释时钟驱动的全双工字节交换与片选定义的事务边界和设备选择,并用 Host Fake 验证发送、接收、片选和完成状态的完整流动;不把主机逻辑当作 STM32 硬件证据。
UART 异步收发闭环:从帧状态机到软件缓冲
11701 字·24 分钟
建立可迁移的 UART 异步串行收发模型:学习者能解释帧边界与接收状态机,区分外设事件、软件缓冲和应用消费,并用 Host Fake 验证正常流、分段到达、缓冲溢出、帧错误恢复和 TX 捕获;不把主机逻辑当作 STM32 硬件证据。
定时器时间基准与观察路径:从 Host Fake 到 STM32 资料核对
11724 字·24 分钟
建立可迁移的定时器时间基准模型:学习者能从时钟、计数器和周期边界推导更新事件,并区分轮询、定时器中断与输出观察路径;能用 Host Fake 验证事件间隔和计数边界,但不把主机结果当作 STM32 硬件时序证据。
中断优先级与服务顺序:从 Host Fake 到 Cortex-M 资料核对
10615 字·22 分钟
把多个中断请求理解为由可比较的逻辑优先级规则决定服务顺序,并用静态 Host Fake 区分 pending、active、抢占、屏蔽和返回后的继续执行;主机模型不代表真实 Cortex-M 或 STM32 的编码、时序和上板结果。
EXTI 外部事件如何变成可服务请求:从 Host Fake 到资料核对
9132 字·19 分钟
把 EXTI 理解为外部输入经线路映射、触发条件和屏蔽后形成可观察请求,并由 pending 持有到服务和显式清除;Host Fake 只验证逻辑状态转换,不代表真实 STM32 寄存器、中断入口或上板结果。
GPIO 配置状态与引脚数据通路:从 Host Fake 到 STM32 资料核对
10895 字·22 分钟
把 GPIO 理解为配置状态决定数据通路、数据访问读取输入采样或更新输出锁存的外设边界,并用静态 Host Fake 区分输入、推挽输出、开漏释放和非法配置;结果不代表真实 STM32 寄存器、电气测量或上板验证。
调用栈与堆:从函数返回和资源归还判断存储何时可用
11604 字·24 分钟
用固定调用深度和静态资源池 Host Fake 区分自动对象的生命周期、调用栈的常见实现模型,以及动态资源的显式释放责任。
ELF 与 map:从链接产物追溯布局证据
10188 字·21 分钟
把同一次目标链接产生的 ELF 与 map 作为互补证据,追溯输出段、符号、地址和大小,同时区分构建期布局、装载事实与运行期事实。
链接脚本:把构建输入放进可验证的内存布局
6343 字·13 分钟
用最小 MEMORY/SECTIONS 抽象解释输入段到输出段再到命名内存区域的布局,并用 Host Fake 验证链接脚本边界符号如何被启动初始化消费。
启动代码:把复位入口变成可运行的 C 环境
4246 字·9 分钟
用 Host Fake 观察复位入口经过启动代码、栈使用条件和 C 运行时初始化后再进入 main 的顺序,并区分主机逻辑验证与真实 Cortex-M 行为边界。
向量表:按编号找到处理程序入口
用一个不冒充硬件的 Host Fake 验证异常或中断编号如何查找向量表项并选择抽象处理程序,同时区分该模型与主机普通函数调用。
用 const 与 volatile 表达访问约束
用主机 C11 示例区分 const 限定访问路径与 volatile 保留易变对象访问,并明确二者的能力边界。
进阶专题:从分层图到可替换对象——用组合根完成依赖注入
·7952 字·16 分钟
进阶专题:通过静态 Host Fake、ops/ctx 接口和唯一 BSP 组合根,建立从对象声明到 App 调用的可替换组装闭环。