请教一些6678中库函数的用法 - TMS320C6678 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5280|回复: 6
打印 上一主题 下一主题

请教一些6678中库函数的用法

[复制链接]

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
跳转到指定楼层
楼主
发表于 2016-8-7 10:34:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
WritebackCache((void *)uipDst, uiByteCount);
InvalidCache((void *)uipSrc, uiByteCount);
CSL_XMC_invalidatePrefetchBuffer();
请问这三种函数实现的具体的功能是什么?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
沙发
 楼主| 发表于 2016-8-8 11:04:39 | 显示全部楼层
希望缄默 发表于 2016-8-7 18:20
从缓存写回低级内存
使指定区域缓存无效
使预取缓冲区无效

对于WritebackCache((void *)uipDst, uiByteCount);这个的意思是把缓存的内容写入uipDst指定的首地址长度为uiByteCount(单位是byte)的内存空间?那么不用指定缓存的哪一块区域吗?
InvalidCache((void *)uipSrc, uiByteCount);说是使指定区域的缓存无效意思是让这一片区域退化成普通的内存?还是清除这一片的区域?

点评

不用 都不是 仅仅将这块内存地址所对应的缓存区域标记为无效  详情 回复 发表于 2016-8-22 21:53
是 不用 标记指定内存对应缓存区域无效  详情 回复 发表于 2016-8-9 20:56
回复 支持 反对

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
板凳
 楼主| 发表于 2016-8-21 18:52:21 | 显示全部楼层
这几天看了大量关于QMSS的代码,里面经常会用到WritebackCache((void *)uipDst, uiByteCount);
InvalidCache((void *)uipSrc, uiByteCount);这两个函数。
WritebackCache((void *)uipDst, uiByteCount);这个函数从字面上理解是把高速缓存的内容写回到指定的低级缓存里,而这个内容在低级和高级缓存里都有是吗?然后InvalidCache((void *)uipSrc, uiByteCount);这个函数是让指定区间的高速缓存无效,也就是说原来指定区间在对应的高速缓存的内容没有了,我这样理解对吗?
回复 支持 反对

使用道具 举报

32

主题

97

帖子

2049

积分

金牌会员

Rank: 6Rank: 6

积分
2049
地板
 楼主| 发表于 2016-8-24 10:58:28 | 显示全部楼层
终于明白啦  恍然大悟啊  瞬间就懂了
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-3 12:34 , Processed in 0.036943 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表