mmu转换表

prettyboybaoxiaopeng prettyboybaoxiaopeng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教一下这段代码什么意思
程序中将mmu_table的地址赋给了TTB register,然后打开了mmu,
而且知道它将50000000映射到了c0000000,。
想问一下,.set .rept .endr 是做什么的,对GUN汇编不是很了解呵~

mmu_table:
.set __base,0
// 1:1 mapping for debugging
.rept 0xA00
FL_SECTION_ENTRY __base,3,0,0,0
.set __base,__base+1
.endr

// access is not allowed.
.rept 0xC00 - 0xA00
.word 0x00000000
.endr

// 128MB for SDRAM 0xC0000000 -> 0x50000000
.set __base, 0x500
.rept 0xC80 - 0xC00
FL_SECTION_ENTRY __base,3,0,1,1
.set __base,__base+1
.endr

// access is not allowed.
.rept 0x1000 - 0xc80
.word 0x00000000
.endr

...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部