本帖最后由 jerkoh 于 2023-2-13 14:52 编辑
问题的核心总结下,应该如下
1. 设置了DMA接收的 stcDmaCfg.u16TransferCnt =500;
2. 发送模拟1ms间隔这种一次发大几K数据,远超500字节的压力值
3. 由于本身DMA关联了定时器TIM6 坐空闲中断,但由于1ms间隔发几K,不会出现空闲中断,一直收数据,导致内存溢出
4. 对于stcDmaCfg.u16TransferCnt =500; 我理解最大DMA收这么多,超过的覆盖或不收‘; 而实际应该是对着sbuf缓冲数据
Rxbuff这个指定数据不停向下越界了。
5. 应该有方案解决4的问题,否则任何大数据异常的过来都会hardfault了。(其它实测没这问题,如GD,ST基于库的)
6. HC32系列<HC32L17x_DDL_Rev1.2.0> 刚用一周多,还不太熟悉。
|