<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Evek&#39;s Blog</title>
  
  
  <link href="https://blog.cocodemo.uno/atom.xml" rel="self"/>
  
  <link href="https://blog.cocodemo.uno/"/>
  <updated>2026-06-12T08:57:02.511Z</updated>
  <id>https://blog.cocodemo.uno/</id>
  
  <author>
    <name>Evek Golden</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Git Fork 工作流：开源贡献者必备的 Git 操作手册</title>
    <link href="https://blog.cocodemo.uno/posts/bff28591/"/>
    <id>https://blog.cocodemo.uno/posts/bff28591/</id>
    <published>2026-06-12T16:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">从 Fork 到 PR 的完整实操指南。涵盖 Remote 配置、分支策略、同步上游、冲突解决、以及日常开发速查表——所有命令均经过验证。</summary>
    
    
    
    <category term="Tools" scheme="https://blog.cocodemo.uno/categories/Tools/"/>
    
    
    <category term="Git" scheme="https://blog.cocodemo.uno/tags/Git/"/>
    
    <category term="GitHub" scheme="https://blog.cocodemo.uno/tags/GitHub/"/>
    
    <category term="Open Source" scheme="https://blog.cocodemo.uno/tags/Open-Source/"/>
    
    <category term="DevOps" scheme="https://blog.cocodemo.uno/tags/DevOps/"/>
    
    <category term="Workflow" scheme="https://blog.cocodemo.uno/tags/Workflow/"/>
    
  </entry>
  
  <entry>
    <title>嵌入式 Linux 设备树 (DTS) 全面解析</title>
    <link href="https://blog.cocodemo.uno/posts/dts6y2z/"/>
    <id>https://blog.cocodemo.uno/posts/dts6y2z/</id>
    <published>2025-12-03T22:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">设备树是嵌入式Linux开发中绕不开的坎。本文从语法结构、标准属性到驱动匹配机制，带你彻底读懂DTS。</summary>
    
    
    
    <category term="Linux" scheme="https://blog.cocodemo.uno/categories/Linux/"/>
    
    
    <category term="Driver" scheme="https://blog.cocodemo.uno/tags/Driver/"/>
    
    <category term="Linux" scheme="https://blog.cocodemo.uno/tags/Linux/"/>
    
    <category term="Device Tree" scheme="https://blog.cocodemo.uno/tags/Device-Tree/"/>
    
    <category term="DTS" scheme="https://blog.cocodemo.uno/tags/DTS/"/>
    
  </entry>
  
  <entry>
    <title>嵌入式系统问题排查方法论</title>
    <link href="https://blog.cocodemo.uno/posts/trb5y2x/"/>
    <id>https://blog.cocodemo.uno/posts/trb5y2x/</id>
    <published>2025-11-22T00:15:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">面对诡异的Bug如何下手？分享分治法、软硬隔离、橡皮鸭调试等实用的嵌入式问题排查思维模型。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/tags/Embedded/"/>
    
    <category term="Debugging" scheme="https://blog.cocodemo.uno/tags/Debugging/"/>
    
    <category term="Methodology" scheme="https://blog.cocodemo.uno/tags/Methodology/"/>
    
  </entry>
  
  <entry>
    <title>PID 算法：从理论公式到 C 语言实现</title>
    <link href="https://blog.cocodemo.uno/posts/pid3k9j/"/>
    <id>https://blog.cocodemo.uno/posts/pid3k9j/</id>
    <published>2025-11-03T20:30:02.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">PID是自动控制领域的万金油。本文不谈枯燥的数学推导，只讲工程师关心的：如何用C语言落地一个抗饱和、带滤波的PID控制器。</summary>
    
    
    
    <category term="Algorithm" scheme="https://blog.cocodemo.uno/categories/Algorithm/"/>
    
    
    <category term="Algorithm" scheme="https://blog.cocodemo.uno/tags/Algorithm/"/>
    
    <category term="C/C++" scheme="https://blog.cocodemo.uno/tags/C-C/"/>
    
    <category term="PID" scheme="https://blog.cocodemo.uno/tags/PID/"/>
    
    <category term="Control Theory" scheme="https://blog.cocodemo.uno/tags/Control-Theory/"/>
    
  </entry>
  
  <entry>
    <title>物联网通信心脏：MQTT 协议深度剖析</title>
    <link href="https://blog.cocodemo.uno/posts/mqtt5k3/"/>
    <id>https://blog.cocodemo.uno/posts/mqtt5k3/</id>
    <published>2025-09-05T21:02:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">为什么MQTT能轻取UDP和HTTP成为IoT标准？详细解析发布/订阅模型、QoS服务质量分级以及IoT特有的遗嘱机制。</summary>
    
    
    
    <category term="IoT" scheme="https://blog.cocodemo.uno/categories/IoT/"/>
    
    
    <category term="Protocol" scheme="https://blog.cocodemo.uno/tags/Protocol/"/>
    
    <category term="MQTT" scheme="https://blog.cocodemo.uno/tags/MQTT/"/>
    
    <category term="IoT" scheme="https://blog.cocodemo.uno/tags/IoT/"/>
    
    <category term="Networking" scheme="https://blog.cocodemo.uno/tags/Networking/"/>
    
  </entry>
  
  <entry>
    <title>JLink GDB Support Command</title>
    <link href="https://blog.cocodemo.uno/posts/bf95911b/"/>
    <id>https://blog.cocodemo.uno/posts/bf95911b/</id>
    <published>2025-08-21T15:23:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">JLink Gdb Support Command Show - zh_cn</summary>
    
    
    
    <category term="Tutorial" scheme="https://blog.cocodemo.uno/categories/Tutorial/"/>
    
    
    <category term="Gdb" scheme="https://blog.cocodemo.uno/tags/Gdb/"/>
    
    <category term="JLink" scheme="https://blog.cocodemo.uno/tags/JLink/"/>
    
  </entry>
  
  <entry>
    <title>常用的GDB调试命令</title>
    <link href="https://blog.cocodemo.uno/posts/4cf628f1/"/>
    <id>https://blog.cocodemo.uno/posts/4cf628f1/</id>
    <published>2025-08-21T15:19:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">Linux平台下常用的GDB调试命令详解</summary>
    
    
    
    <category term="Tutorial" scheme="https://blog.cocodemo.uno/categories/Tutorial/"/>
    
    
    <category term="Linux" scheme="https://blog.cocodemo.uno/tags/Linux/"/>
    
    <category term="Gdb" scheme="https://blog.cocodemo.uno/tags/Gdb/"/>
    
  </entry>
  
  <entry>
    <title>MYSY环境搭建</title>
    <link href="https://blog.cocodemo.uno/posts/ab598f11/"/>
    <id>https://blog.cocodemo.uno/posts/ab598f11/</id>
    <published>2025-08-21T15:17:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">MSYS2 是一个强大的工具链，提供类 Unix 环境和包管理器，适合搭建嵌入式开发环境</summary>
    
    
    
    <category term="Tutorial" scheme="https://blog.cocodemo.uno/categories/Tutorial/"/>
    
    
    <category term="MYSY" scheme="https://blog.cocodemo.uno/tags/MYSY/"/>
    
  </entry>
  
  <entry>
    <title>嵌入式内存管理：栈溢出检测与堆碎片优化</title>
    <link href="https://blog.cocodemo.uno/posts/mem8j3q/"/>
    <id>https://blog.cocodemo.uno/posts/mem8j3q/</id>
    <published>2025-08-05T23:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">内存泄漏和栈溢出是嵌入式系统的两大杀手。本文将深入探讨内存分布、Stack Canary检测机制以及高性能小内存分配算法。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="Optimization" scheme="https://blog.cocodemo.uno/tags/Optimization/"/>
    
    <category term="Memory Management" scheme="https://blog.cocodemo.uno/tags/Memory-Management/"/>
    
    <category term="Heap" scheme="https://blog.cocodemo.uno/tags/Heap/"/>
    
    <category term="Stack" scheme="https://blog.cocodemo.uno/tags/Stack/"/>
    
  </entry>
  
  <entry>
    <title>空间换时间：查表法 (LUT) 与 CORDIC 算法</title>
    <link href="https://blog.cocodemo.uno/posts/math9k3/"/>
    <id>https://blog.cocodemo.uno/posts/math9k3/</id>
    <published>2025-07-05T23:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">在没有FPU的单片机上计算sin/cos/atan简直是噩梦。本文对比两种经典优化方案：查表法(LUT)与CORDIC算法，教你如何在资源受限的环境下实现高精度数学运算。</summary>
    
    
    
    <category term="Algorithm" scheme="https://blog.cocodemo.uno/categories/Algorithm/"/>
    
    
    <category term="Algorithm" scheme="https://blog.cocodemo.uno/tags/Algorithm/"/>
    
    <category term="Optimization" scheme="https://blog.cocodemo.uno/tags/Optimization/"/>
    
    <category term="Math" scheme="https://blog.cocodemo.uno/tags/Math/"/>
    
    <category term="CORDIC" scheme="https://blog.cocodemo.uno/tags/CORDIC/"/>
    
  </entry>
  
  <entry>
    <title>内核级数据结构：侵入式链表 (Intrusive List) 之美</title>
    <link href="https://blog.cocodemo.uno/posts/list6n2/"/>
    <id>https://blog.cocodemo.uno/posts/list6n2/</id>
    <published>2025-07-05T19:00:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">为什么Linux内核和RTOS都偏爱侵入式链表？本文揭秘container_of宏的黑魔法，展示如何设计一个零内存分配、缓存友好的链表库。</summary>
    
    
    
    <category term="Data Structure" scheme="https://blog.cocodemo.uno/categories/Data-Structure/"/>
    
    
    <category term="Optimization" scheme="https://blog.cocodemo.uno/tags/Optimization/"/>
    
    <category term="C/C++" scheme="https://blog.cocodemo.uno/tags/C-C/"/>
    
    <category term="Data Structure" scheme="https://blog.cocodemo.uno/tags/Data-Structure/"/>
    
    <category term="Linux Kernel" scheme="https://blog.cocodemo.uno/tags/Linux-Kernel/"/>
    
  </entry>
  
  <entry>
    <title>RTOS 核心解密：任务切换与优先级反转</title>
    <link href="https://blog.cocodemo.uno/posts/rtos9x2/"/>
    <id>https://blog.cocodemo.uno/posts/rtos9x2/</id>
    <published>2025-07-03T21:02:03.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">深入汇编层面解析RTOS任务切换的魔法，并探讨优先级反转这一经典并发问题的成因与解法。</summary>
    
    
    
    <category term="RTOS" scheme="https://blog.cocodemo.uno/categories/RTOS/"/>
    
    
    <category term="Assembly" scheme="https://blog.cocodemo.uno/tags/Assembly/"/>
    
    <category term="RTOS" scheme="https://blog.cocodemo.uno/tags/RTOS/"/>
    
    <category term="Scheduling" scheme="https://blog.cocodemo.uno/tags/Scheduling/"/>
    
    <category term="Concurrency" scheme="https://blog.cocodemo.uno/tags/Concurrency/"/>
    
  </entry>
  
  <entry>
    <title>为什么我不再在生产环境使用厂商 HAL 库</title>
    <link href="https://blog.cocodemo.uno/posts/hal9x0q/"/>
    <id>https://blog.cocodemo.uno/posts/hal9x0q/</id>
    <published>2025-06-05T23:21:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">HAL库虽然方便了快速原型开发，但其臃肿的代码量、难以捉摸的Bug以及低效的抽象，让我在量产项目中最终选择了放弃。</summary>
    
    
    
    <category term="Opinion" scheme="https://blog.cocodemo.uno/categories/Opinion/"/>
    
    
    <category term="STM32" scheme="https://blog.cocodemo.uno/tags/STM32/"/>
    
    <category term="HAL" scheme="https://blog.cocodemo.uno/tags/HAL/"/>
    
    <category term="Drivers" scheme="https://blog.cocodemo.uno/tags/Drivers/"/>
    
    <category term="Opinion" scheme="https://blog.cocodemo.uno/tags/Opinion/"/>
    
  </entry>
  
  <entry>
    <title>可靠的 Bootloader 与 OTA 升级策略设计</title>
    <link href="https://blog.cocodemo.uno/posts/ota5k1m/"/>
    <id>https://blog.cocodemo.uno/posts/ota5k1m/</id>
    <published>2025-06-05T23:12:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">Bootloader 是嵌入式系统的第一道防线。本文详解 OTA 双区备份、增量升级、安全校验等企业级设计方案。</summary>
    
    
    
    <category term="System" scheme="https://blog.cocodemo.uno/categories/System/"/>
    
    
    <category term="Bootloader" scheme="https://blog.cocodemo.uno/tags/Bootloader/"/>
    
    <category term="OTA" scheme="https://blog.cocodemo.uno/tags/OTA/"/>
    
    <category term="IAP" scheme="https://blog.cocodemo.uno/tags/IAP/"/>
    
    <category term="Security" scheme="https://blog.cocodemo.uno/tags/Security/"/>
    
  </entry>
  
  <entry>
    <title>SPI 协议详解与波形分析</title>
    <link href="https://blog.cocodemo.uno/posts/spi9x2k/"/>
    <id>https://blog.cocodemo.uno/posts/spi9x2k/</id>
    <published>2025-06-04T23:55:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">深入解析SPI通信协议的四种模式、时钟极性与相位，以及主从架构下的硬件连接与驱动编写细节。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/tags/Embedded/"/>
    
    <category term="Protocol" scheme="https://blog.cocodemo.uno/tags/Protocol/"/>
    
    <category term="SPI" scheme="https://blog.cocodemo.uno/tags/SPI/"/>
    
    <category term="Waveform" scheme="https://blog.cocodemo.uno/tags/Waveform/"/>
    
  </entry>
  
  <entry>
    <title>CAN 总线协议入门与实战</title>
    <link href="https://blog.cocodemo.uno/posts/can7m3p/"/>
    <id>https://blog.cocodemo.uno/posts/can7m3p/</id>
    <published>2025-05-05T00:02:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">CAN总线基础教程：物理层电平、帧结构解析、位仲裁机制详解以及工业现场的应用案例。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="CAN" scheme="https://blog.cocodemo.uno/tags/CAN/"/>
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/tags/Embedded/"/>
    
    <category term="Protocol" scheme="https://blog.cocodemo.uno/tags/Protocol/"/>
    
    <category term="Automotive" scheme="https://blog.cocodemo.uno/tags/Automotive/"/>
    
  </entry>
  
  <entry>
    <title>嵌入式 C++：是时候抛弃 C 语言了吗？</title>
    <link href="https://blog.cocodemo.uno/posts/cpp9k4d/"/>
    <id>https://blog.cocodemo.uno/posts/cpp9k4d/</id>
    <published>2025-04-02T23:00:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">别再以为C++就是代码膨胀的元凶。借助constexpr、template和RAII，现代C++不仅可以是零开销的，还能比C更安全高效。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/tags/Embedded/"/>
    
    <category term="C++" scheme="https://blog.cocodemo.uno/tags/C/"/>
    
    <category term="Programming" scheme="https://blog.cocodemo.uno/tags/Programming/"/>
    
    <category term="Best Practice" scheme="https://blog.cocodemo.uno/tags/Best-Practice/"/>
    
  </entry>
  
  <entry>
    <title>那个让项目延期两周的 5 分钱电容</title>
    <link href="https://blog.cocodemo.uno/posts/debug5c9/"/>
    <id>https://blog.cocodemo.uno/posts/debug5c9/</id>
    <published>2025-03-04T21:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">这不仅是一个技术复盘，更是一个关于我们如何在毫无头绪的Reset中挣扎、怀疑人生，最后被一颗去耦电容教做人的故事。</summary>
    
    
    
    <category term="Debugging" scheme="https://blog.cocodemo.uno/categories/Debugging/"/>
    
    
    <category term="Story" scheme="https://blog.cocodemo.uno/tags/Story/"/>
    
    <category term="Debugging" scheme="https://blog.cocodemo.uno/tags/Debugging/"/>
    
    <category term="Hardware" scheme="https://blog.cocodemo.uno/tags/Hardware/"/>
    
    <category term="PCB Layout" scheme="https://blog.cocodemo.uno/tags/PCB-Layout/"/>
    
  </entry>
  
  <entry>
    <title>保护你的知识产权：TrustZone 与加密引擎</title>
    <link href="https://blog.cocodemo.uno/posts/tz8j2n1/"/>
    <id>https://blog.cocodemo.uno/posts/tz8j2n1/</id>
    <published>2025-01-09T16:30:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">随着Cortex-M33的普及，TrustZone技术其实离我们并不遥远。本文解析安全世界(Secure World)与非安全世界的格栅化管理。</summary>
    
    
    
    <category term="Security" scheme="https://blog.cocodemo.uno/categories/Security/"/>
    
    
    <category term="Security" scheme="https://blog.cocodemo.uno/tags/Security/"/>
    
    <category term="TrustZone" scheme="https://blog.cocodemo.uno/tags/TrustZone/"/>
    
    <category term="Cortex-M33" scheme="https://blog.cocodemo.uno/tags/Cortex-M33/"/>
    
    <category term="Cryptography" scheme="https://blog.cocodemo.uno/tags/Cryptography/"/>
    
  </entry>
  
  <entry>
    <title>GDB 调试利器：从入门到精通</title>
    <link href="https://blog.cocodemo.uno/posts/gdb4j8w/"/>
    <id>https://blog.cocodemo.uno/posts/gdb4j8w/</id>
    <published>2025-01-09T00:10:00.000Z</published>
    <updated>2026-06-12T08:57:02.511Z</updated>
    
    
    <summary type="html">全面掌握GDB调试命令：断点、观察点、寄存器查看、内存检查及远程调试技巧。</summary>
    
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/categories/Embedded/"/>
    
    
    <category term="Embedded" scheme="https://blog.cocodemo.uno/tags/Embedded/"/>
    
    <category term="Debugging" scheme="https://blog.cocodemo.uno/tags/Debugging/"/>
    
    <category term="GDB" scheme="https://blog.cocodemo.uno/tags/GDB/"/>
    
    <category term="Linux" scheme="https://blog.cocodemo.uno/tags/Linux/"/>
    
  </entry>
  
</feed>
