[问题] 如何关掉/打开 arm cpu 快取内存

楼主: hirofumisyo (Ami)   2020-04-02 16:43:16
大家好,
我的作业平台是FPGA zynq 开发板,里面有arm cpu。
最近在试用dma将写进DDR的资料搬出来,
但发现搬出来的资料都有问题。
后来发现在dma开始搬资料前使用sdk开发平台的date cache disable这个功能就能让
结果是正常的。
不过我之后希望将这个流程搬到灌了linux作业系统的环境下去执行,
因此想要问一下在linux开发环境下要如何去关掉跟打开快取呢?
我是用ubuntu的linux,
谢谢大家。
作者: descent (“雄辩是银,沉默是金”)   2020-04-02 22:43:00
dma 要内存的 function 可以配置non cacahe/non buffer的区域
作者: soso7885 (YOHO)   2020-04-04 21:17:00
关了可能linux都跑不起来吧,dma w完flush cache一下呢
作者: hizuki (ayaka)   2020-04-05 13:32:00
linux dma coherent 了解下,划dma区段可用cma实现,如许详细答复我回头写给你
作者: WPC001 (好闷, 迷惘~~)   2020-04-06 22:38:00
flush_tlb_mm() / flush_tlb_range() /update_mmu_cache()有空自己看一下...
作者: leolarrel (真.粽子无双)   2020-04-07 16:07:00
参考 volatile 关键字

Links booklink

Contact Us: admin [ a t ] ucptt.com