完善资料让更多小伙伴认识你,还能领取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的选项
2261 浏览 1 评论
3038 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1614 浏览 1 评论
3428 浏览 6 评论
5766 浏览 21 评论
776浏览 4评论
1144浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
414浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1122浏览 3评论
1177浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 18:13 , Processed in 1.082519 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号