start.S解析10
2016-04-23 12:00
281 查看
《朱老师物联网大讲堂》学习笔记
学习地址:www.zhulaoshi.org
虚拟地址映射,
好比数组,
数组下标好比索引,数组内容好比表项,
一个ARM的段式映射中长度为1MB,因此需要4G/1MB = 4096个映射单元,即数组有4096个单元,
实际上,我们把4096分成了好几部分,用循环来处理,
有待完善!
学习地址:www.zhulaoshi.org
虚拟地址映射,
好比数组,
数组下标好比索引,数组内容好比表项,
一个ARM的段式映射中长度为1MB,因此需要4G/1MB = 4096个映射单元,即数组有4096个单元,
实际上,我们把4096分成了好几部分,用循环来处理,
/* form a first-level section entry */ .macro FL_SECTION_ENTRY base,ap,d,c,b .word (\base << 20) | (\ap << 10) | \ (\d << 5) | (1<<4) | (\c << 3) | (\b << 2) | (1<<1) .endm .section .mmudata, "a" .align 14 // the following alignment creates the mmu table at address 0x4000. .globl mmu_table mmu_table: .set __base,0 // Access for iRAM .rept 0x100 FL_SECTION_ENTRY __base,3,0,0,0 .set __base,__base+1 .endr // Not Allowed .rept 0x200 - 0x100 .word 0x00000000 .endr .set __base,0x200 // should be accessed .rept 0x600 - 0x200 FL_SECTION_ENTRY __base,3,0,1,1 .set __base,__base+1 .endr .rept 0x800 - 0x600 .word 0x00000000 .endr .set __base,0x800 // should be accessed .rept 0xb00 - 0x800 FL_SECTION_ENTRY __base,3,0,0,0 .set __base,__base+1 .endr /* .rept 0xc00 - 0xb00 .word 0x00000000 .endr */ .set __base,0xB00 .rept 0xc00 - 0xb00 FL_SECTION_ENTRY __base,3,0,0,0 .set __base,__base+1 .endr // 0xC000_0000鏄犲皠鍒?x2000_0000 .set __base,0x300 //.set __base,0x200 // 256MB for SDRAM with cacheable .rept 0xD00 - 0xC00 FL_SECTION_ENTRY __base,3,0,1,1 .set __base,__base+1 .endr // access is not allowed. @.rept 0xD00 - 0xC80 @.word 0x00000000 @.endr .set __base,0xD00 // 1:1 mapping for debugging with non-cacheable .rept 0x1000 - 0xD00 FL_SECTION_ENTRY __base,3,0,0,0 .set __base,__base+1 .endr #else // CONFIG_MCP_AC, CONFIG_MCP_H, CONFIG_MCP_B
有待完善!
相关文章推荐
- 使用NDK编译的时候出现 undefined reference to
- 数列求和问题
- 算法导论(1)堆排序
- web前端页面项目经验总结
- 笑谈贝叶斯网络(干货)上
- 获取桌面壁纸作为App背景
- xutils +Gson解析json(从服务器中获取json并解析)
- Java并发编程:深入剖析ThreadLocal
- 深入剖析/图解HTTP 协议
- 一种基于画布的绝对定位方法
- hashmap 快速查找原理
- WPF入门教程系列一——基础
- dSYM文件解析与分析
- UVA - 489 Hangman Judge
- 【2016读书】4月读书笔记
- 307. Range Sum Query - Mutable
- git删除远端分支
- selenium webdriver 的事件处理
- Spark源码分析之Scheduler模块(TaskScheduler)
- 读取 摄像机标定的参数