完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
ARM侧使用keystone-hwqueue提供的khwq_map ,khwq_unmap,来实现物理地址与内核虚拟地址的转换
该函数中使用dma_sync_single_for_cpu 和dma_sync_single_for_device来实现DMA对cache的操作 但是在实际测试中发现DMA搬移时cache中的数据并没有同步到ddr中,请问为何? |
|
相关推荐
3个回答
|
|
1. 请问你用的是哪个平台6614还是6636/6638?
2. 确认测试的memory在MMU中把cache使能 3.如何判断数据没有同步到DDR的,是用DSP core?如果用DSP core,需要手动维护cache 一致性 |
|
|
|
dechun28448 发表于 2018-6-21 07:17 1. 请问你用的是哪个平台6614还是6636/6638? 6614,DSP使用bios系统,ARM使用linux系统 2. 确认测试的memory在MMU中把cache使能 核间通信使用的是monolithicDesc,使用的memory就是在描述符内,看了一下sdk是用alloc_free_pages创建的region,每个描述符大小是512字节 3.如何判断数据没有同步到DDR的,是用DSP core?如果用DSP core,需要手动维护cache 一致性 ARM与DSP互发,发送的时候在数据区添加数据及CRC值,接收侧收到后做CRC检查,如果不一致则报错。数据大小为500字节 在测试过程中发现从ARM--->DSP没有错误,但是从DSP----->ARM数据有时候就不正确了,出错率在2%,怀疑arm 没有invalid cache,于是测试在读取数据前 先访问256k的数据区,这样cache中就不存在原来的数据了。这样测试数据就能正确了,说明ARM上cache没有被invalid掉 |
|
|
|
这个问题已经解决了,原因是因为使用sdk提供的pop push接口中的size并不是描述符的真正大小,所以根据这个大小去操作cache就有问题了 |
|
|
|
只有小组成员才能发言,加入小组>>
513 浏览 1 评论
386 浏览 1 评论
583 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
830 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
688 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
128浏览 29评论
694浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
291浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
243浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
100浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 03:25 , Processed in 0.444123 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号