|
程序描述: 串口接收buff 使用的是 0x38000040地址 做了32位对齐处理, 开了Cache , 并且在解析数据前使用 SCB_CleanDCache_by_Addr((uint32_t *)rx_buff, rx_len); 目前在没开优化等级或者优化等级1的情况下是很正常的,
问题: 优化等级3就会出现接收数据校验错误,调试看了 收到的数据有些不对. 然后再开优化等级3的时候,我设置了MPU 把 0x38000000 地址都禁用高速缓存后 程序又很正常了.
想请教硬汉哥 这是什么问题 往哪方面去下手解决
|
|