u-boot 学习笔记
u-boot 学习笔记 u-boot分类 1.1. api 1.1.1. api.md 1.2. arch 1.2.1. arm 1.2.1.1. arm.md 1.2.1.2. assembly.md 1.2.2. arch.md 1.3. boot 1.3.1. bootm.md 1.3.2. bootretry.md 1.3.3. bootz.md 1.3.4. image.md 1.4. cmd 1.4.1. cmd.md 1.5. common 1.5.1. autoboot.md 1.5.2. board.md 1.5.3. cli.md 1.5.4. command.md 1.5.5. console.md 1.5.6. dmalloc.md 1.5.7. event.md 1.5.8. export.md 1.5.9. log.md 1.5.10. main.md 1.6. dm 1.6.1. adc.md 1.6.2. button.md 1.6.3. clock.md 1.6.4. core.md 1.6.5. dts.md 1....
Lely CANopen LSS:主从状态机、Fastscan 与配置流程
Lely CANopen LSS:主从状态机、Fastscan 与配置流程 @[toc] LSS(Layer Setting Services)用于解决一个基础但特殊的问题:当设备还没有有效 Node-ID,或者整个网络需要切换 CAN 位率时,主站不能依赖普通 SDO 通道完成配置,因为 SDO 本身通常已经依赖有效 Node-ID。LSS 因此使用固定的 CAN-ID,并用对象字典 0x1018 的四个 32 位身份字段识别设备。 在 Lely CANopen 中,co_lss_t 同时承载 LSS master 和 LSS slave 两种角色。它不是一组“发送命令后阻塞等待结果”的同步函数,而是一个依附于 co_nmt_t、can_net_t 和 co_dev_t 的事件驱动有限状态机: 1234567891011应用提交 LSS 请求 ↓co_lss_*_req() 构造首帧或进入内部状态 ↓can_net_send() 发送 0x7E5 ↓can_recv_t 等待 0x7E4,can_timer_t 负责超时与帧间隔 ↓当前状态的 on_...
Lely CANopen SYNC、TIME 与 EMCY学习
Lely CANopen SYNC、TIME 与 EMCY学习 @[toc] SYNC、TIME 和 EMCY 都属于 CiA 301 通信对象,但在 Lely CANopen 中,它们并不是三个“收到 CAN 帧后直接调用用户回调”的简单模块。三者都被实现成依附于 can_net_t 和 co_dev_t 的被动服务对象:对象字典决定角色与 CAN-ID,can_recv_t 接收匹配报文,can_timer_t 驱动周期或抑制时间,最终通过回调或 can_net_send() 把事件交给上层。 三者的触发模型并不相同: co_sync_t 的 producer 周期直接由对象 0x1006 驱动,修改 0x1005/0x1006/0x1019 会立即重配 receiver、timer 和 counter; co_time_t 的 0x1012 只决定 producer/consumer 角色和 COB-ID,实际发送起点与周期仍要由 co_time_start_prod() 显式提交; co_emcy_t 不做周期发送,它把错误变化压入活动错误栈和 CAN 帧...
linux学习笔记系列
linux学习笔记系列 arch 1.1. arm 1.1.1. assembly (个人博客链接) 1.1.2. boot (个人博客链接) 1.1.3. debug (个人博客链接) 1.1.4. include (个人博客链接) 1.1.5. kernel (个人博客链接) 1.1.6. lds (个人博客链接) 1.1.7. lib (个人博客链接) 1.1.8. mm (个人博客链接) 1.1.9. process (个人博客链接) 1.1.10. sys_call_table (个人博客链接) block 2.1. bfq-iosched (个人博客链接) 2.2. bio (个人博客链接) 2.3. blk-core (个人博客链接) 2.4. blk-ioc (个人博客链接) 2.5. blk-mq (个人博客链接) 2.6. block (个人博客链接) 2.7. brd (个人博客链接) 2.8. elevator (个人博客链接) 2.9. fops (个人博客链接) 2.10. genhd (个人博客链接) 2.11. kyber-io...
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 (...







