[問題] 如何關掉/打開 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