1164|2

287

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

全志 V85开发板 RTOS平台cache操作接口介绍 [复制链接]

 

##  1.主题
全志 F系列/R系列/V系列 RTOS平台cache操作接口介绍

## 2.问题背景
全志F系列/R系列/V系列所采用的RTOS,提供了一些关于 Cache 操作的接口,用于当不同 master 在内存上读写传递时使用,以下是 Cache 操作接口的使用介绍。


* **hal_dcache_clean**
函数原型:void hal_dcache_clean(unsigned long addr, int len);
函数作用:将[addr, addr + len]地址在 dcache 上对应的数据刷回内存,其在dcache 上数据依旧有效。
使用场景:提供数据给外设时,需要将停留在 dcache 上的数据写回内存,以让外设可以直接访问内存获取该笔数据(外设访问不会经过 dcache)。


* **hal_dcache_invalidate**
函数原型:void hal_dcache_invalidate(unsigned long addr, int len);
函数作用:将[addr, addr + len]地址在 dcache 上对应的数据无效。
使用场景:外设修改数据后,CPU需要将 dcache 上的数据无效,以让CPU可以获取到经过外设修改后的数据。


* **hal_dcache_clean_all**
函数原型:void hal_dcache_clean_all(void);
函数作用:将所有的dcache 数据全部刷回。
使用场景:较少使用,一般在动态关闭Dcache 的场景下去使用。


* **hal_dcache_invalidate_all**
函数原型:void hal_dcache_invalidate_all(void);
函数作用:将所有的dcache 数据全部无效。
使用场景:除了使能 dcache 的场景外,绝对不允许使用。


* **hal_icache_invalidate**
函数原型:void hal_icache_invalidate(unsigned long addr, int len);
函数作用:将[addr, addr + len]地址在 icache 上对应的数据无效。
使用场景:自修改代码指令时,需要无效icache。


* **hal_icache_invalidate_all**
函数原型:void hal_icache_invalidate_all(void);
函数作用:将所有的dcache 数据全部无效。
使用场景:自修改代码指令时,需要无效icache。

最新回复

v853正在索样,希望尽快能拿到DEMO板后。好象论坛不是有评测的?没拿到吗?     详情 回复 发表于 2022-9-23 13:30
点赞 关注
 
 

回复
举报

14

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

v853正在索样,希望尽快能拿到DEMO板后。开启玩一玩,到时需要论坛的大神们支持支持

 
 
 

回复

6960

帖子

11

TA的资源

版主

板凳
 

v853正在索样,希望尽快能拿到DEMO板后。好象论坛不是有评测的?没拿到吗?

 

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表