查看: 3672|回复: 0

S3C2410 MMU&CACHE&BUF&SWI&TLB

[复制链接]
发表于 2010-10-26 17:40:12 | 显示全部楼层 |阅读模式
关键词: amp , Cache , MMU , SWI , TLB
附件的代码是在广嵌的GEC2410V1.1上调试通过的。主要程序说明:1、MMUGEN.C,根据MMU.DEF产生TTB数据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根据CP15的C,B使能位和描述符中的C,B位确定。
6、对于必须严格按照程序的顺序执行的地址(如I/O),不能用CACHE和WRITE BUFFER,否则产生时序错乱。TLB:
1、TLB包含的信息有:1)虚拟页号 2)物理页号 3)页SIZE(1K,4K,16K,64K,1M),页访问属性,4)TLB有效位
2、当(AP0,AP1,AP2,AP3)不完全一致时,只有当前选中的一个子页被填入TLB,分别为1K(1/4小页)或16K(1/4大页)。
3、当(AP0,AP1,AP2,AP3)完全一致时,整个大页(64K)或整个小页(4K)被填入TLB
4、当TTB的内容改变时,必须要清除相应的TLB项,以保证新的TTB项能被填入TLB.
5、MMU直接从C2对应的物理基地址去读取TTB的描述符,不会经过VA-PA转换,也就不会用到CACHE中的数据,所以如果程序需要改变TTB的内容,
   TTB相关地址不能设置成WRITE-BACK,只能使用WRITE-THROUGH,保证TTB的内容能实时更新。

GEC2410_EINT.rar

369.92 KB, 下载积分: 积分 -1

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表