ai
默认使用简体中文回答,先给结论,再给必要说明。 输出与交付 回答应清晰、直接、准确,避免冗余铺垫、重复结论和机械套用固定章节。内容较长或包含多个独立问题时,使用 Markdown 的 ##、###、递进列表和必要表格组织。 当输出满足以下任一条件时,必须生成可下载文件,聊天中只提供一句话结论、2~5 条摘要和下载链接: 用户要求编写、整理、重写或规划技术文章、博客、教程、源码解读、问题排查记录、故障复盘、实施方案、测试计划、审查报告、工作总结或项目文档; 输出具有可复用的完整结构,例如文章目录、章节设计、源码分析方案、系统设计、配置说明、迁移方案或评审结论; 预计正文超过 800 个中文字符,或包含 3 个及以上独立章节; 用户明确要求 Markdown、文档、报告、文章、方案、清单或其他可保存内容; 任务涉及生成或交付源码、配置、构建文件、测试、CI、文档或压缩包。 默认文件格式为 Markdown(.md);只有用户明确指定,或内容明显更适合其他格式时,才使用 DOCX、PDF、XLSX、PPTX、ZIP 等格式。文件内容必须完整,聊天中不得重复粘贴全文。用户明确要求只在聊天...
MCU学习笔记系列
MCU学习笔记系列 1. ADC+DMA 目标数组无更新 解决办法 (个人博客链接) (CSDN链接) 2. ARM Cortex-M内核中DMA内存地址对齐的影响与效率权衡 (个人博客链接) (CSDN链接) 3. ARM原子操作 (个人博客链接) (CSDN链接) 4. ART-PI在KEIL的使用教程(个人笔记) (个人博客链接) (CSDN链接) 5. ART-Pi开发者的福音:一个“宝藏级”实践仓库,点亮你的学习之路 (个人博客链接) (CSDN链接) 6. CUBE 配置SDRAM 无法选择地址问题解决办法 (个人博客链接) (CSDN链接) 7. CUBEMXV6 (个人博客链接) 8. FEERTOS的TICKLESS模式下最大低功耗的时间只能是349tick的原因分析 (个人博客链接) (CSDN链接) 9. FNV-1a 64-bit 在 MCU-32bit 上的实现与取舍:从原理、代码到适用边界 (个人博客链接) (CSDN链接) 10. FREERTOS开启TICKLESS后最大只能349tick休眠的原因分析 (个人博客链接) (CSDN链接) 11. ...
git学习笔记系列
git学习笔记系列 1. GitHub 开源项目可以用哪些免费的 AI 代码审核工具?CodeRabbit、Qodo OSS、LlamaPReview 怎么选 (个人博客链接) (CSDN链接) 2. GitHub侦探技巧:如何精确查找特定邮箱地址的所有代码提交(Commit) (个人博客链接) (CSDN链接) 3. Git向本地非裸仓库推送的机制与错误处理 (个人博客链接) (CSDN链接) 4. Git子模块(Submodule)合并冲突的原理与解决方案 (个人博客链接) (CSDN链接) 5. Git实战指南:如何从另一个分支同步文件时完整保留Commit提交历史 (个人博客链接) (CSDN链接) 6. Git文件状态显示异常的解决方案 (个人博客链接) (CSDN链接) 7. 修复 Git 仓库损坏全记录 (个人博客链接) 8. 修复 Git 仓库损坏全记录 (个人博客链接) 9. 如何将Git仓库中的特定文件夹及其历史完整迁移到另一个仓库 (个人博客链接) 10. 将 Git 仓库所有文件移入子目录的正确姿势 (个人博客链接) 11. 解决 git cherry-p...
hpatch学习笔记系列
hpatch学习笔记系列 libdivsufsort 1.1. DivSufSort (个人博客链接) 1.2. sssort (个人博客链接) 1.3. trsort (个人博客链接) SA-IS 2.1. SA-IS (个人博客链接) 3. hdiffpatch (个人博客链接) 4. HPatch (个人博客链接) 5. hpatch_lite (个人博客链接) 6. SuffixString (个人博客链接) 7. tinyuz (个人博客链接)
uboot学习笔记系列
uboot学习笔记系列 other 1.1. [U-BOOT][STM32]SD卡导入导出环境变量 (个人博客链接) (CSDN链接) 1.2. [U-BOOT][STM32]设置使用SD卡中的linux程序启动 (个人博客链接) (CSDN链接) 1.3. [U-BOOT][STM32F40xx]移植与编写 (个人博客链接) (CSDN链接) 1.4. [UBOOT][STM32]编写LED支持教程 (个人博客链接) (CSDN链接) 1.5. [uboot][stm32]配置LTDC屏幕 (个人博客链接) (CSDN链接) 1.6. objdump反汇编失败的解决办法 (个人博客链接) (CSDN链接) 1.7. U-BOOT CLANGD使用 + 避坑注意事项 (个人博客链接) (CSDN链接) 1.8. U-BOOT 配置按钮功能及使用教程 (个人博客链接) (CSDN链接) 1.9. ubantu st-link 调试 (个人博客链接) (CSDN链接) 1.10. UBOOT 早期串口调试功能CONFIG_DEBUG_UART适配教程 (个人博客链接) (CSD...
rt-thread学习笔记系列
rt-thread学习笔记系列 其他资料 1.1. fatfs 1.1.1. fatfs (个人博客链接) 2. ARM指针寄存器 (个人博客链接) 3. CAN驱动 (个人博客链接) 4. completion (个人博客链接) 5. condvar (个人博客链接) 6. dataqueue (个人博客链接) 7. DFS (个人博客链接) 8. fal (个人博客链接) 9. fatfs (个人博客链接) 10. FINSH模块 (个人博客链接) 11. I2C驱动 (个人博客链接) 12. IDLE线程 (个人博客链接) 13. IPC (个人博客链接) 14. littlefs (个人博客链接) 15. map文件分析 (个人博客链接) 16. pipe (个人博客链接) 17. PM电源管理 (个人博客链接) 18. RT-Thread 学习笔记 (个人博客链接) 19. ringblock (个人博客链接) 20. ringbuffer (个人博客链接) 21. romfs (个人博客链接) 22. RT-LINK (个人博客链接) 23. RTC (...
嵌入式面试真题学习笔记系列
嵌入式面试真题学习笔记系列 1. I2C SDA 被拉低死锁后的软件恢复 (个人博客链接) 2. RTOS 优先级翻转与实时任务阻塞的通用治理 (个人博客链接) 3. 不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构 (个人博客链接) 4. 低速 Flash 与 1MB SRAM 下的通用缓存架构设计 (个人博客链接) 5. 单硬件 Timer 下的高精度多路软件定时器架构设计 (个人博客链接) 6. 固定周期后台事件导致实时链路瞬态扰动的定位与自动化测试 (个人博客链接) 7. 多中断源竞争下关键实时事件丢失的系统化诊断与中断架构设计 (个人博客链接) 8. 多源信号时间戳偏差的补偿与重同步架构 (个人博客链接) 9. 嵌入式设备休眠电流异常的通用定位与低功耗治理 (个人博客链接) 10. 电源纹波影响 ADC 电量采样的软件滤波 (个人博客链接) 11. 资源受限系统中的分层低功耗与低延迟唤醒架构设计 (个人博客链接) 12. 资源受限设备中的低功耗短时事件识别架构 (个人博客链接) 13. 资源受限长期运行系统的确定性内存管理与内存池架构设计 (个人博客链接) 14....
杂谈学习笔记系列
杂谈学习笔记系列 1. AS5600 12 位可编程非接触式电位器 (个人博客链接) (CSDN链接) 2. autogen_parameter_manager:面向固件产品参数的生成式管理软件包 (个人博客链接) (CSDN链接) 3. C++ virtual 关键字的沉思:为何“万物皆虚”是反模式? (个人博客链接) (CSDN链接) 4. Chrome书签图标“失踪”了?一招“同步大法”让它们全部回来! (个人博客链接) (CSDN链接) 5. GCC 的 -O0、-Og 与发布版调试说明 (个人博客链接) (CSDN链接) 6. Multi-Pass Review 还不够:为什么还需要专项 Profile 和 Fresh Diff Scope (个人博客链接) (CSDN链接) 7. NVIDIA驱动更新“翻车”?解决RTX 2060在Bilibili客户端无法加载4K视频的终极指南 (个人博客链接) (CSDN链接) 8. PotPlayer采集结束后崩溃?罪魁祸首竟是你的安装路径! (个人博客链接) (CSDN链接) 9. Rime输入法跨平台配置与同步教程:以雾凇拼...
canopen学习笔记系列
canopen学习笔记系列 1. CANopen TIME/SYNC 运行流程 (个人博客链接) (CSDN链接) 2. CANopen CiA 协议全景:核心内容、重点与组合关系 (个人博客链接) 3. CANopen Emergency: 搞懂 EM 运行流程 (个人博客链接) (CSDN链接) 4. CANopen MPDO:动态对象寻址 (个人博客链接) 5. CANopen NMT:搞懂 NMT 运行流程 (个人博客链接) (CSDN链接) 6. CANopen PDO 运行流程 (个人博客链接) (CSDN链接) 7. CANopen 搞懂 SDO client/server 运行流程 (个人博客链接) (CSDN链接) 8. CANopen 网络拓扑限制 (个人博客链接) 9. CANopene Heartbeat运行流程 (个人博客链接) (CSDN链接) 10. CANopenEditor 从新建工程到导出 EDS OD (个人博客链接) [11. CANopenNode CO_new() 与 `CO_config](<.&...
Lely CANopen NMT Heartbeat、srv与cfg 机制源码学习
Lely CANopen NMT Heartbeat、srv与cfg 机制源码学习 @[toc] 本文把以下六个内部文件放在同一条运行链上分析: 123456src/co/nmt_hb.csrc/co/nmt_hb.hsrc/co/nmt_srv.csrc/co/nmt_srv.hsrc/co/nmt_cfg.csrc/co/nmt_cfg.h 它们并不是三套彼此独立的协议实现,而是 co_nmt_t 周围的三类内部组件: nmt_hb:针对一个远端 Node-ID 维护 Heartbeat consumer 的接收、超时和状态事件; nmt_srv:根据本节点当前 NMT 状态装配或拆除 SDO、PDO、SYNC、TIME、EMCY、LSS 服务; nmt_cfg:在主站 boot slave 流程中,执行恢复默认值、文本 DCF、concise DCF 和用户扩展配置。 先建立一个总的心智模型: 12345co_nmt_t├─ 管本节点 NMT 状态机与主站启动策略├─ 通过 co_nmt_srv 管本节点协议服务生命周期├─ 为每个被监控远端节点创建 co_nmt...








