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