关翼飞 发表于 2024-2-1 11:16:53

关于STM32H755双核cpu,用M4内核跑ETH还会不会产生DMA和Cache冲突的问题

本帖最后由 关翼飞 于 2024-2-1 11:30 编辑

各位大佬好 ,我现在使用STM32H755做开发,想用CM4内核单独跑lwip,但是我用cubemx生成代码之后,M4下生成的代码里有这么一句"SCB_InvalidateDCache_by_Addr((uint32_t *)buff, Length);"。但是具体实现是在M7下的core_CM7.h这个文件里的,我没有明白的点是,在CM4下还可以做更改Cache的操作吗?或者说是在CM4下使用DMA还会不会跟Dcache产生冲突?有没有什么解决办法那?

eric2013 发表于 2024-2-2 01:10:55

M4内核不需要配置Cache,因为M4内核没有配套Cache支持。

关翼飞 发表于 2024-2-2 13:54:06

eric2013 发表于 2024-2-2 01:10
M4内核不需要配置Cache,因为M4内核没有配套Cache支持。

嗯嗯,我明白您说的意思,M4压根就没有cache。我的疑问点在于我用CUBEMX生成的代码里面,因为要用M4内核跑lwip,生成的代码里有关于cache的操作。我就很迷惑,难道我在M4下边操做cache对于M7来说也是生效的吗?还有就是M4下边跑lwip开通dma后是否依旧会有Dcache数据过时的问题?

eric2013 发表于 2024-2-3 08:20:15

关翼飞 发表于 2024-2-2 13:54
嗯嗯,我明白您说的意思,M4压根就没有cache。我的疑问点在于我用CUBEMX生成的代码里面,因为要用M4内核 ...

有可能是代码生成的问题。
页: [1]
查看完整版本: 关于STM32H755双核cpu,用M4内核跑ETH还会不会产生DMA和Cache冲突的问题