完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大侠:
正在调试的工程里有一段是将64*640*8B的数据用edma3从ddr3的地址0x90000000搬移到msmc中,有一个奇怪的现象: 如果msmc中的目的地址是0x0c100000和0x0c300000的话,数据全部正确。而如果msmc中的目的地址是0x0c000000和0x0c200000的话数据有错误,还不是全都错,是一段错一段对,太奇怪了。 另外在edma3之后我用 CACHE_wbL1d ((void *)msmc中的目的地址, 64*640*2*sizeof(float)), CACHE_FENCE_WAIT); 将其writeback了。 CACHE_wbL2 ((void *)msmc中的目的地址, 64*640*2*((float)), CACHE_FENCE_WAIT) 是在6678le开发板上跑的,加载的是evmc6678l.gel。 请教各位专家! |
|
相关推荐
6 个讨论
|
|
zbb9612 发表于 2018-12-29 17:18 To Andy Yin1: 1. 没有一块memory同时存放多种数据 2.对于cache一致性的维护,我理解是要读一个地址前先要cache invalid以读到真实的。写一个数到地址中,写完要cacche write back,确保真的写进去而不是写到cacche里,对吗? 3.请问你说的map文件是不是设置cache的方式,我设置的是L1d,L1p全cache,L2为sram,SL2和ddr3为sram。另外SL2不是0x0c000000~0x0c3FFFFF共4MB吗? |
|
|
|
|
|
to Andy Yin1: 问题解决,我之前在启动EDMA之前对数据进行invalid,进行invalidL1D和invalidL2,现在把invalidL1D去掉,仅仅invalidL2后数据正常了。 貌似invalidL1D只针对L2,而invalidL2针对SL2. 还有两个问题:1.文档好像写着invalidL2一次最多256kB,但我一次invalidL2大于256kB好像也正常。 2.现在我的应用要求多个core同时用EDMA Controller 0来从ddr3不同地址搬移数据到SL2的不同地址,不知可行否? |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
458 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
310 浏览 1 评论
906 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2081 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3823 浏览 4 评论
CC3100BOOST使用CC3200lunchXL进行烧录
863浏览 2评论
99浏览 2评论
134浏览 2评论
111浏览 2评论
132浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-1 13:18 , Processed in 0.736912 second(s), Total 53, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191