C6678多核應用的cache小測試

2021-09-28 18:48:35 字數 450 閱讀 6534

c6678多核之間在msmc中互動資料,缺省會用到l1d cache

資料一致性問題是很令人困擾的。

小測試驗證了關於l1d cache 的linesize 是64byte

初始化:

if(dnum == 0)

然後在多核同步中斷程式中:

//test

if(dnum == 0)

else

如此測試條件下,兩個資料始終相差0x100,但若替換成注釋部分的**,則會破壞資料完整性。

也可以利用xmc來配置sl2,這樣不用反覆的invalidcache和writebackcache操作。

可以參考:

#個人認為這個帖子裡的基位址不能直接使用,但思路是可以參考的#

比較好的資料的ti的官方的"keystone_1_memory_performance"!

C6678多核DSP CMD檔案介紹

cmd檔案編寫 cmd 鏈結器配置檔案,存放鏈結器的配置資訊,cmd檔案使開發者可以通過自己定義的儲存器模組來配置系統儲存器,說白點也就是cmd是用來分配rom和ram空間用的,告訴鏈結程式怎樣計算位址和分配空間。memory命令 描述系統實際的硬體資源 section命令 描述 段 如何定位 其中...

C6678啟動異常排查

c6678外掛程式兩片flash 兩片fpga,每片fpga flash分別占用c6678的乙個emif介面,c6678的加電控制及上電時序均由fpga控制。考慮到觀察到的現象是部分函式的記憶體值為非法值,因此懷疑是dsp程式在boot搬移過程中,出現搬移中的的情況。考慮到dsp是由fpga進行控電...

C6678的中斷控制器

c6678 的中斷控制器 分兩層,一層是每個core內部的中斷控制器,這個叫interruptcontroller,簡寫intc 一層是整個晶元的,屬於晶元級的,在每個core的外面,這個叫chip level interrupt controller,縮寫cic。分兩層其實兩層功能也不同,這個不用...