Skip to content

驱动层重构导致项目大乱

2026-09-04

干憔悴了, 由于硬件改版, 主要也就是添加了 XIP 功能, 增加USB模块, 由于M7的内核, 涉及到eDMA和cache缓存, 光RAM分区都有ITCM, DTCM , OCRAM, 现在的情况是某个eDMA通道做搬运的时候总是挂掉, 然后再一路踩死其他通道, TCD直接被踩烂了, 写了个eDMA的看门狗来把eDMA调试相关的寄存器全部拿出来打印, 一打印不得了, 中断风暴 来了, 给我CPU直接干满100%, 现在就是一直在排查问题的原因是什么?

cache ? 也调试和确认过了, 直接分出了一份NO-CACHE的OCRAM分区, 把缓冲区和TCD块都不涉及到cache

目前采用的手段是先把涉及到的这个eDMA通道先屏蔽掉(分支业务逻辑, 和无线蓝牙相关的旁路输出), 先尽快利用自动化测试模块 和 电吹管的耳测模块 先走主输出(喇叭\耳机)把声音效果给定下来


我恨重构, 要不是还有git版本控制顶着, 这项目早就乱的不成样子了吧, 管理实在是太乱了, 驱动代码给到我的时候, 根本就没有git, 直接给我干的两眼一黑


  • 2026-09-10更新

不要相信驱动工程师的说法,一定要自己去排查原理图基础外围电路,注释启停写反,导致一开始就朝着错误的方向一路狂奔