|
附件的代碼是在廣嵌的GEC2410V1.1上調(diào)試通過的。主要程序說明:1、MMUGEN.C,根據(jù)MMU.DEF產(chǎn)生TTB數(shù)據(jù)2、MMU.C,完成MMU的初始化3、SWI.S,SWIC.C,方便的添加SWI功能。4、LED_C.C:跑馬燈程序。5、KeyScan.c,按鍵處理程序。6、ULINK2.INI,少了這個初始化文件,MDK不能把FLASH燒寫算法加載到SDRAM.7、RUNINRAM.SCT,分散鏈接加載文件。 1、使能ICACHE時,速度快N1倍
2、使能DCACHE時,速度快N2倍
3、MMU禁止時,ICACHE可以使能,此時全部地址都有ICACHE功能。
4、MMU禁止時,DCACHE不可以使能,全部地址都沒有DCACHE.
5、MMU使能時,ICACHE,DCACHE根據(jù)CP15的C,B使能位和描述符中的C,B位確定。
6、對于必須嚴(yán)格按照程序的順序執(zhí)行的地址(如I/O),不能用CACHE和WRITE BUFFER,否則產(chǎn)生時序錯亂。TLB:
1、TLB包含的信息有:1)虛擬頁號 2)物理頁號 3)頁SIZE(1K,4K,16K,64K,1M),頁訪問屬性,4)TLB有效位
2、當(dāng)(AP0,AP1,AP2,AP3)不完全一致時,只有當(dāng)前選中的一個子頁被填入TLB,分別為1K(1/4小頁)或16K(1/4大頁)。
3、當(dāng)(AP0,AP1,AP2,AP3)完全一致時,整個大頁(64K)或整個小頁(4K)被填入TLB
4、當(dāng)TTB的內(nèi)容改變時,必須要清除相應(yīng)的TLB項,以保證新的TTB項能被填入TLB.
5、MMU直接從C2對應(yīng)的物理基地址去讀取TTB的描述符,不會經(jīng)過VA-PA轉(zhuǎn)換,也就不會用到CACHE中的數(shù)據(jù),所以如果程序需要改變TTB的內(nèi)容,
TTB相關(guān)地址不能設(shè)置成WRITE-BACK,只能使用WRITE-THROUGH,保證TTB的內(nèi)容能實時更新。 |
-
-
GEC2410_EINT.rar
2010-10-26 17:40 上傳
點擊文件名下載附件
下載積分: 積分 -1
369.92 KB, 下載積分: 積分 -1
|