完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们遵循这个:https ://wiki.st.com/stm32mpu/wiki/How_to_exchange_large_data_buffers_with_the_coprocessor_-_principle 和这个:https ://wiki.st.com/stm32mpu/wiki/How_to_exchange_large_data_buffers_with_the_coprocessor_-_example#Linux_drivers
除 DMA 外交换 M4-A7 的文章:在我们的例子中,我们直接从 M4 写入 DDR,无需 DMA 传输。 每次 A7 需要新的数据部分时,它都会通过 rpmsg 发送请求,并在 eventfd 上轮询 M4 准备好的数据。它适用于多次运行,但很快我们就会得到旧数据。我们检查了 M4 端的缓冲区和 A7 端轮询读取的正确性。对我来说,这看起来像是连贯性问题。所以,我的问题是:如何将映射区域标记为不可缓存区域? 附言。据我所知,linux UIO 驱动程序映射非缓存内存区域,RPMSG SDB - 不是。 |
|
相关推荐
1个回答
|
|
您是否尝试在 rpmsg sdb 驱动程序中使用 dma_alloc_coherent/dma_free_coherent 而不是 dma_alloc_wc/dma_free_wc?
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2411 浏览 1 评论
3127 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1698 浏览 1 评论
3510 浏览 6 评论
5865 浏览 21 评论
854浏览 4评论
1229浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
495浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1211浏览 3评论
1265浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-20 12:05 , Processed in 1.011321 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号