<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>嵌入式 on RuChen</title>
    <link>https://blog.195481.xyz/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/</link>
    <description>Recent content in 嵌入式 on RuChen</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <managingEditor>2510889344@qq.com (RuChen)</managingEditor>
    <webMaster>2510889344@qq.com (RuChen)</webMaster>
    <copyright>All Rights Reserved © RuChen 2025</copyright>
    <lastBuildDate>Sat, 24 Oct 2026 00:00:33 +0800</lastBuildDate><atom:link href="https://blog.195481.xyz/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>FreeRTOS 中断协作：EXTI 通知静态工作任务的完整链路</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/esp-2535a7fd2b72-freertos-exti-fromisr-static-worker/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:33 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/esp-2535a7fd2b72-freertos-exti-fromisr-static-worker/</guid>
      <description>以STM32F407和固定FreeRTOS V10.3.1/GCC ARM_CM4F说明EXTI到FromISR通知再到任务的完整交接，给出静态对象、优先级编码、HSI16MHz启动与SysTick独占交接、错误路径和双轨实验；目标与GUI均未验证。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 静态内存：对象活多久，RAM 算一次</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/esp-b6380aeb4733-freertos-static-object-lifetime-ram-budget/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:24 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/esp-b6380aeb4733-freertos-static-object-lifetime-ram-budget/</guid>
      <description>以 STM32F407xx 和固定 CubeF4 所带 FreeRTOS V10.3.1 为边界，给出纯静态双任务、idle 内存回调和 HSI 启动参考实现；从对象生命周期、栈元素字节换算，走到 SRAM/CCM 分区账本与任务栈、MSP 运行余量的独立核验。未进行目标编译或上板验证。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 静态任务通知：把工作次数交给唯一接收者</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/esp-ee33dedf7e22-freertos-static-task-notification-counting/</link>
      <pubDate>Sat, 24 Oct 2026 00:00:15 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/esp-ee33dedf7e22-freertos-static-task-notification-counting/</guid>
      <description>基于 STM32CubeF4 固定包中的 FreeRTOS V10.3.1，推演通知累积、逐个消费和整批交接，提供静态任务、idle 内存回调、HSI 启动及 SysTick 所有权参考代码，并严格区分主机模型证据与尚未编译、上板的目标实现。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 静态信号量：有界许可、等待与超时</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l044-freertos-static-semaphore/</link>
      <pubDate>Fri, 23 Oct 2026 17:41:38 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l044-freertos-static-semaphore/</guid>
      <description>能够用 STM32F407xx 上的静态计数信号量表示无数据载荷的有界许可，推演 give/take、计数上限、等待与超时，并区分信号量、消息队列及互斥所有权和两条验证轨道。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 静态有界队列：消息复制、满空等待与超时</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l043-freertos-static-queue/</link>
      <pubDate>Fri, 23 Oct 2026 16:31:48 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l043-freertos-static-queue/</guid>
      <description>能够用静态有界队列在两个任务间按值传递固定大小消息，预测满/空等待、超时及唤醒后的调度，并说明 STM32F407xx 参考实现与主机验证的证据边界。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 调度器：状态、固定优先级与切换边界</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l042-freertos-scheduler/</link>
      <pubDate>Thu, 22 Oct 2026 16:23:04 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l042-freertos-scheduler/</guid>
      <description>能够根据任务的就绪、阻塞状态与固定优先级，预测单核 FreeRTOS 的运行任务和切换时机，并在 STM32F407xx 参考实现中追踪节拍、异常与任务切换链，区分主机模型验证和目标硬件验证。</description>
      
    </item>
    
    <item>
      <title>FreeRTOS 任务：静态创建、独立上下文与存储生命周期</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l041-freertos-static-task/</link>
      <pubDate>Wed, 21 Oct 2026 18:52:34 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l041-freertos-static-task/</guid>
      <description>能够以静态存储定义并创建一个持续运行的 FreeRTOS 任务，解释任务入口、参数、控制块与栈的所有权及创建到首次执行的调用链，并严格区分主机逻辑验证与 STM32F407xx 目标验证。</description>
      
    </item>
    
    <item>
      <title>单元测试——隔离用例与可诊断回归</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l040-unit-test/</link>
      <pubDate>Wed, 21 Oct 2026 17:44:39 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l040-unit-test/</guid>
      <description>能够把已学批次交接逻辑拆成彼此隔离、失败可定位的 C11 单元测试，用边界与错误用例建立可重复回归，并将测试证据与 STM32F407xx 时钟、外设、HAL 回调及实机证据严格区分。</description>
      
    </item>
    
    <item>
      <title>主机测试——受控事件验证嵌入式批次交接</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l039-host-test/</link>
      <pubDate>Wed, 21 Oct 2026 16:00:03 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l039-host-test/</guid>
      <description>能够为已学的 STM32F407xx 采集到发送的批次交接划定可在主机运行的测试边界，用可控回调事件与故障序列、独立预期结果检验所有权、背压和恢复，同时将主机逻辑证据与 CubeMX/HAL/LL/寄存器参考实现及待执行的实机验证严格分开。</description>
      
    </item>
    
    <item>
      <title>逻辑分析仪：从数字边沿建立可信的时序证据</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l038-logic-analyzer/</link>
      <pubDate>Tue, 20 Oct 2026 22:47:27 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l038-logic-analyzer/</guid>
      <description>能够设计并审计一次 STM32F407xx 数字信号的逻辑分析仪采集：由定时器时钟与输出配置预测边沿，以采样率、触发和多通道时间基约束读数，并区分模拟电气问题、软件标记与真实硬件事件的证据边界。</description>
      
    </item>
    
    <item>
      <title>Map 文件——把链接布局变成可审计的内存预算</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l037-map-file-attribution/</link>
      <pubDate>Tue, 20 Oct 2026 21:44:13 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l037-map-file-attribution/</guid>
      <description>从同一次构建的链接脚本、Map 与 ELF 追溯 STM32F407xx 固件的 Flash/RAM 静态占用与增长来源，建立可复核的预算和运行期证据边界。</description>
      
    </item>
    
    <item>
      <title>栈：从 SP（栈指针）与内存边界到可信的调用现场</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l036-stack-evidence/</link>
      <pubDate>Tue, 20 Oct 2026 20:33:03 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l036-stack-evidence/</guid>
      <description>核心目标：建立以 SP、栈边界和编译产物交叉验证栈使用量与调用现场的证据方法，并为 STM32F407xx 规划可核对但尚未上板的最小采样与调试路径。 新核心概念：栈边界与动态使用量的证据边界；调用现场重建的证据边界。</description>
      
    </item>
    
    <item>
      <title>故障分析：把异常现场变成可证伪的证据链</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l035-fault-analysis/</link>
      <pubDate>Mon, 19 Oct 2026 19:13:26 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l035-fault-analysis/</guid>
      <description>核心目标：规划一节故障分析课：用异常入口保存的状态寄存器、堆栈帧和故障指令地址建立可证伪的故障证据链，并在 STM32F407xx 上形成待目标工程验证的最小 HardFault 现场采集路径。新核心概念：异常入口的故障现场快照与有效性边界；从故障状态到可证伪根因假设的证据链。</description>
      
    </item>
    
    <item>
      <title>断点与观察点：以触发条件取得可审计现场</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l034-breakpoint-watchpoint/</link>
      <pubDate>Sun, 18 Oct 2026 16:00:05 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l034-breakpoint-watchpoint/</guid>
      <description>核心目标：建立断点与观察点作为可审计触发条件的心智模型：区分指令地址触发和数据访问触发，评估它们对执行时序的扰动，并为 STM32F407xx 制定来源可核对的调试验证方案。新核心概念：断点的指令地址触发与停止边界；观察点的数据访问触发与资源边界。</description>
      
    </item>
    
    <item>
      <title>寄存器视图：有时序、可证伪的观测证据</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l033-register-view/</link>
      <pubDate>Sat, 17 Oct 2026 23:04:12 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l033-register-view/</guid>
      <description>核心目标：建立寄存器视图作为有时序、可证伪的观测证据这一心智模型，并据此为 STM32F407xx 的时钟、定时器、DMA 与外设状态设计可重复的调试观察流程。新核心概念：寄存器视图的取样语义与证据边界。</description>
      
    </item>
    
    <item>
      <title>外设集成实验：采集批次到串行 DMA 的有界交接</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l032-peripheral-integration-lab/</link>
      <pubDate>Fri, 16 Oct 2026 23:29:09 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l032-peripheral-integration-lab/</guid>
      <description>建立采集批次交给传输 DMA 时的端到端有界所有权与背压边界，并用 C11 Host Fake 验证正常交接、超期、停源和恢复，以 STM32F407xx 的 TIM2-ADC1-DMA2 到 USART2-DMA1 参考链核对时钟、CubeMX、HAL、LL、寄存器与迁移边界。</description>
      
    </item>
    
    <item>
      <title>ADC-定时器-DMA 分段缓冲流水线</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l031-adc-timer-dma-pipeline/</link>
      <pubDate>Thu, 15 Oct 2026 16:00:04 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l031-adc-timer-dma-pipeline/</guid>
      <description>建立 ADC-定时器-DMA 分段缓冲流水线，以 C11 Host Fake 验证速率预算、半区所有权和错误路径，并以 STM32F407xx 的 TIM2 到 ADC1、DMA2 Stream0/Channel0 参考实现核对时钟、CubeMX、HAL、LL、寄存器和迁移边界。</description>
      
    </item>
    
    <item>
      <title>高级控制定时器：互补 PWM 安全输出链</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l030-advanced-control-timer/</link>
      <pubDate>Wed, 14 Oct 2026 23:58:28 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l030-advanced-control-timer/</guid>
      <description>建立高级控制定时器的互补 PWM 安全输出链，用 C11 Host Fake 验证非重叠、故障锁存和显式恢复，并以 STM32F407xx 的 TIM1 核对时钟、CubeMX、HAL、LL、寄存器、刹车 IRQ 和硬件验证边界。</description>
      
    </item>
    
    <item>
      <title>定时器触发路由：从 TIM2 更新事件到 ADC1 转换</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l029-timer-trigger-routing/</link>
      <pubDate>Tue, 13 Oct 2026 16:00:04 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l029-timer-trigger-routing/</guid>
      <description>建立定时器触发路由的事件链，用 C11 Host Fake 验证源事件、路由、接收端选择与错误边界，并以 STM32F407xx 的 TIM2 更新事件到 ADC1 外部触发路径核对时钟、CubeMX、HAL、LL、寄存器和 IRQ 证据。</description>
      
    </item>
    
    <item>
      <title>HAL、LL 与寄存器的交叉映射</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l028-hal-ll-register-crosswalk/</link>
      <pubDate>Mon, 12 Oct 2026 20:17:48 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l028-hal-ll-register-crosswalk/</guid>
      <description>建立 HAL、LL 与寄存器交叉映射的追踪方法：先以 C11 Host Fake 验证前置条件、状态转换和 IRQ 消费，再以 STM32F407xx 的 ADC1 到 DMA2 Stream0 路径核对时钟门控、初始化字段、硬件标志、回调和错误证据。</description>
      
    </item>
    
    <item>
      <title>时钟树与外设时序来源</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l027-clock-tree/</link>
      <pubDate>Sun, 11 Oct 2026 23:29:07 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l027-clock-tree/</guid>
      <description>建立时钟树这一受约束频率分配网络的心智模型：用 Host Fake 审计源频率、PLL、AHB/APB 预分频和频率上限，再以 STM32F407xx 的 HSI 参考参数落实 CubeMX、HAL、LL、关键寄存器、ADC/DMA 与定时器时钟链。</description>
      
    </item>
    
    <item>
      <title>DMA 传输引擎与传输契约</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l026-dma-transfer-engine-contract/</link>
      <pubDate>Wed, 07 Oct 2026 19:21:14 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l026-dma-transfer-engine-contract/</guid>
      <description>以双轨方式建立 DMA 传输契约：Host Fake 验证请求、计数、循环缓冲区和错误路径；STM32F407xx 参考实现把 ADC1 请求落实到 DMA2 Stream0/Channel0，给出 168/84/21 MHz 时钟链、CubeMX 配置、HAL 初始化与回调、LL/寄存器对照和上板验证边界。</description>
      
    </item>
    
    <item>
      <title>ADC 采样、量化与数字码交付的测量闭环</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l025-adc-sampling-quantization/</link>
      <pubDate>Wed, 07 Oct 2026 17:56:34 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l025-adc-sampling-quantization/</guid>
      <description>用平台无关的 Host Fake 建立 ADC 单次转换闭环：输入在采样保持边界冻结，按参考范围和分辨率量化为有界数字码，经完成状态交付给调用方；通过事件日志、断言和故障注入验证逻辑，同时明确真实 STM32 电气、寄存器和 HAL 行为仍需按目标系列第一方资料核对。</description>
      
    </item>
    
    <item>
      <title>I2C 共享双线事务：主机发起与从机响应的状态机</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l024-i2c-shared-transaction/</link>
      <pubDate>Tue, 06 Oct 2026 16:00:06 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l024-i2c-shared-transaction/</guid>
      <description>建立平台无关的 I2C 共享双线事务模型：主机取得总线、发送地址和读写方向、处理 ACK/NACK、完成写入或读取并以 STOP 释放总线；通过 Host Fake 的开漏线路模型、事件日志、断言和故障注入验证调用流，不把逻辑验证当作 STM32 硬件证据。</description>
      
    </item>
    
    <item>
      <title>SPI 同步事务闭环：全双工交换与片选边界</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l023-spi-sync-transaction/</link>
      <pubDate>Mon, 05 Oct 2026 21:57:44 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l023-spi-sync-transaction/</guid>
      <description>建立可迁移的 SPI 同步事务模型：解释时钟驱动的全双工字节交换与片选定义的事务边界和设备选择，并用 Host Fake 验证发送、接收、片选和完成状态的完整流动；不把主机逻辑当作 STM32 硬件证据。</description>
      
    </item>
    
    <item>
      <title>UART 异步收发闭环：从帧状态机到软件缓冲</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l022-uart-rx-tx-loop/</link>
      <pubDate>Mon, 05 Oct 2026 17:52:01 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l022-uart-rx-tx-loop/</guid>
      <description>建立可迁移的 UART 异步串行收发模型：学习者能解释帧边界与接收状态机，区分外设事件、软件缓冲和应用消费，并用 Host Fake 验证正常流、分段到达、缓冲溢出、帧错误恢复和 TX 捕获；不把主机逻辑当作 STM32 硬件证据。</description>
      
    </item>
    
    <item>
      <title>定时器时间基准与观察路径：从 Host Fake 到 STM32 资料核对</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l021-timer-timebase/</link>
      <pubDate>Mon, 05 Oct 2026 17:02:39 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l021-timer-timebase/</guid>
      <description>建立可迁移的定时器时间基准模型：学习者能从时钟、计数器和周期边界推导更新事件，并区分轮询、定时器中断与输出观察路径；能用 Host Fake 验证事件间隔和计数边界，但不把主机结果当作 STM32 硬件时序证据。</description>
      
    </item>
    
    <item>
      <title>中断优先级与服务顺序：从 Host Fake 到 Cortex-M 资料核对</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l020-interrupt-priority/</link>
      <pubDate>Mon, 05 Oct 2026 16:19:49 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l020-interrupt-priority/</guid>
      <description>把多个中断请求理解为由可比较的逻辑优先级规则决定服务顺序，并用静态 Host Fake 区分 pending、active、抢占、屏蔽和返回后的继续执行；主机模型不代表真实 Cortex-M 或 STM32 的编码、时序和上板结果。</description>
      
    </item>
    
    <item>
      <title>EXTI 外部事件如何变成可服务请求：从 Host Fake 到资料核对</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l019-exti-event-path/</link>
      <pubDate>Sun, 04 Oct 2026 16:00:04 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l019-exti-event-path/</guid>
      <description>把 EXTI 理解为外部输入经线路映射、触发条件和屏蔽后形成可观察请求，并由 pending 持有到服务和显式清除；Host Fake 只验证逻辑状态转换，不代表真实 STM32 寄存器、中断入口或上板结果。</description>
      
    </item>
    
    <item>
      <title>GPIO 配置状态与引脚数据通路：从 Host Fake 到 STM32 资料核对</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l018-gpio-configuration-data-path/</link>
      <pubDate>Sun, 04 Oct 2026 14:55:13 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l018-gpio-configuration-data-path/</guid>
      <description>把 GPIO 理解为配置状态决定数据通路、数据访问读取输入采样或更新输出锁存的外设边界，并用静态 Host Fake 区分输入、推挽输出、开漏释放和非法配置；结果不代表真实 STM32 寄存器、电气测量或上板验证。</description>
      
    </item>
    
    <item>
      <title>存储器布局：把映像、初始化与运行时边界放在同一张图上</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l017-memory-layout/</link>
      <pubDate>Sat, 03 Oct 2026 17:28:17 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l017-memory-layout/</guid>
      <description>把代码与数据段、启动初始化和运行时预留统一到有限存储器布局中，并用静态 Host Fake 验证区域归属、边界及重叠；其结果仅是逻辑证据，不代表真实 ELF、目标构建或硬件验证。</description>
      
    </item>
    
    <item>
      <title>调用栈与堆：从函数返回和资源归还判断存储何时可用</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l016-stack-heap/</link>
      <pubDate>Fri, 02 Oct 2026 23:55:49 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l016-stack-heap/</guid>
      <description>用固定调用深度和静态资源池 Host Fake 区分自动对象的生命周期、调用栈的常见实现模型，以及动态资源的显式释放责任。</description>
      
    </item>
    
    <item>
      <title>ELF 与 map：从链接产物追溯布局证据</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l015-elf-map/</link>
      <pubDate>Fri, 02 Oct 2026 20:54:52 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l015-elf-map/</guid>
      <description>把同一次目标链接产生的 ELF 与 map 作为互补证据，追溯输出段、符号、地址和大小，同时区分构建期布局、装载事实与运行期事实。</description>
      
    </item>
    
    <item>
      <title>链接脚本：把构建输入放进可验证的内存布局</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l014-linker-script/</link>
      <pubDate>Fri, 02 Oct 2026 15:36:12 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l014-linker-script/</guid>
      <description>用最小 MEMORY/SECTIONS 抽象解释输入段到输出段再到命名内存区域的布局，并用 Host Fake 验证链接脚本边界符号如何被启动初始化消费。</description>
      
    </item>
    
    <item>
      <title>启动代码：把复位入口变成可运行的 C 环境</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l013-startup/</link>
      <pubDate>Thu, 01 Oct 2026 21:27:03 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l013-startup/</guid>
      <description>用 Host Fake 观察复位入口经过启动代码、栈使用条件和 C 运行时初始化后再进入 main 的顺序，并区分主机逻辑验证与真实 Cortex-M 行为边界。</description>
      
    </item>
    
    <item>
      <title>向量表：按编号找到处理程序入口</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l012-vector-table/</link>
      <pubDate>Thu, 01 Oct 2026 20:53:30 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l012-vector-table/</guid>
      <description>用一个不冒充硬件的 Host Fake 验证异常或中断编号如何查找向量表项并选择抽象处理程序，同时区分该模型与主机普通函数调用。</description>
      
    </item>
    
    <item>
      <title>复位序列：从规定入口到应用入口</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l011-reset-sequence/</link>
      <pubDate>Tue, 29 Sep 2026 16:00:04 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l011-reset-sequence/</guid>
      <description>用一个不冒充硬件的 Host Fake 观察复位后从规定入口经过复位处理程序到应用入口的抽象顺序，并区分它与主机直接调用 main 的边界。</description>
      
    </item>
    
    <item>
      <title>用静态分析回溯可能的空指针路径</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l010-static-analysis/</link>
      <pubDate>Mon, 28 Sep 2026 18:35:05 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l010-static-analysis/</guid>
      <description>在 Windows 主机上用 GCC 静态分析器发现并回溯一条可能的空指针解引用路径，把诊断作为待验证的风险证据。</description>
      
    </item>
    
    <item>
      <title>用构建描述得到可重复的主机构建</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l009-make-cmake/</link>
      <pubDate>Sun, 27 Sep 2026 23:50:12 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l009-make-cmake/</guid>
      <description>用最小 CMake 项目理解构建描述如何驱动工具调用，并通过受控源码修改观察依赖关系决定的必要重建范围。</description>
      
    </item>
    
    <item>
      <title>把一个翻译单元编译成目标文件</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l008-compiler/</link>
      <pubDate>Sun, 27 Sep 2026 23:20:51 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l008-compiler/</guid>
      <description>用主机 GCC 隔离只编译步骤，根据目标文件、退出状态与诊断区分编译成功和输入被拒绝。</description>
      
    </item>
    
    <item>
      <title>用链接属性判断名字能否跨源文件使用</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l007-linkage/</link>
      <pubDate>Sun, 27 Sep 2026 16:13:22 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l007-linkage/</guid>
      <description>用最小两源文件 C11 主机程序区分外部链接与内部链接，并判断另一翻译单元能否引用同一对象。</description>
      
    </item>
    
    <item>
      <title>用存储期判断对象地址何时有效</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l006-storage-duration/</link>
      <pubDate>Sat, 26 Sep 2026 16:05:49 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l006-storage-duration/</guid>
      <description>用最小 C11 主机程序区分自动存储期和静态存储期，并据此判断对象及其地址何时仍可安全使用。</description>
      
    </item>
    
    <item>
      <title>用 const 与 volatile 表达访问约束</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l005-const-volatile/</link>
      <pubDate>Sat, 26 Sep 2026 15:35:47 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l005-const-volatile/</guid>
      <description>用主机 C11 示例区分 const 限定访问路径与 volatile 保留易变对象访问，并明确二者的能力边界。</description>
      
    </item>
    
    <item>
      <title>用指针修改调用者的对象</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l004-pointer/</link>
      <pubDate>Sat, 26 Sep 2026 14:48:38 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l004-pointer/</guid>
      <description>用主机 C11 示例理解对象地址的保存与传递，并通过有效指针让函数修改调用者持有的同一 uint32_t 对象。</description>
      
    </item>
    
    <item>
      <title>32 位整数：先按范围选类型</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l003-integer-model/</link>
      <pubDate>Mon, 21 Sep 2026 22:07:26 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l003-integer-model/</guid>
      <description>依据需求的最小值、最大值和是否需要负数，在主机逻辑验证中选择 int32_t 或 uint32_t，并识别超出范围的设计风险。</description>
      
    </item>
    
    <item>
      <title>第一个 C 程序：按顺序得到确定结果</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l002-first-c-program/</link>
      <pubDate>Mon, 21 Sep 2026 21:30:24 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l002-first-c-program/</guid>
      <description>在 Windows 主机上阅读和修改单文件 C 程序，理解语句按顺序执行，并通过退出状态观察确定的计算结果。</description>
      
    </item>
    
    <item>
      <title>从源文件到可观察结果</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l001-embedded-system-basics/</link>
      <pubDate>Mon, 21 Sep 2026 20:17:27 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l001-embedded-system-basics/</guid>
      <description>建立主机与嵌入式运行环境不同、源文件必须经过构建和运行才能形成可观察验证闭环的两个基础心智模型。</description>
      
    </item>
    
    <item>
      <title>进阶专题：从分层图到可替换对象——用组合根完成依赖注入</title>
      <link>https://blog.195481.xyz/embedded/embedded-study/l001-composition-root/</link>
      <pubDate>Fri, 18 Sep 2026 00:38:58 +0800</pubDate>
      <author>2510889344@qq.com (RuChen)</author>
      <guid>https://blog.195481.xyz/embedded/embedded-study/l001-composition-root/</guid>
      <description>进阶专题：通过静态 Host Fake、ops/ctx 接口和唯一 BSP 组合根，建立从对象声明到 App 调用的可替换组装闭环。</description>
      
    </item>
    
  </channel>
</rss>
