Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402450
  • 博文数量: 65
  • 博客积分: 1491
  • 博客等级: 上尉
  • 技术积分: 702
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-30 15:57
文章分类
文章存档

2011年(6)

2010年(12)

2009年(47)

我的朋友

分类: 嵌入式

2010-03-10 11:43:59

1.一个家用路由器的u-boot
  address space:
      memstart = 0x80000000, memsize = 0x02000000
      flashstart = 0xBF000000, flashsize = 0x00400000
  images in flash:
      u-boot:0xBF000000
      ecos:  0xBF050000
      linux: 0xBF0C0000
  u-boot启动信息:
      
  分析:
    1.内存地址范围从0x80000000开始,到0x82000000结束。
    2.u-boot被load到内存地址0x81fc0000.
    3.启动流程:AP83上电后首先运行flash上面的cpu/mips/start.S这个汇编程序,并没有进入内存。接着,start.S把u-boot的代码段全部copy到内存地址0x81fc0000,并从该地址开始转入内存运行。

2.MIPS的地址空间
   1.综述:
         一般嵌入式的hardware有两部分存贮器,一个是RAM,另一个是ROM(flash). flash用来存放code,包括操作系统本身,当然也包括bootloader(u-boot). RAM就是相当于PC的内存了,比flash速度快的多,但掉电后会丢失所有数据,所以用作动态内存。
   2.MIPS的地址空间:
         32位mips的地址空间跟PC一样,是2^32=4G字节。对于嵌入式设备来说,所有的设备的地址都存在于一个地址空间。如下图:flash的地址空间一般放在Kseg1段,而RAM的地址空间一般则放在kseg0段。
          
 
<--文章完-->
阅读(2857) | 评论(0) | 转发(0) |
0

上一篇:DIY给路由器刷机

下一篇:GPIO 和 SPI

给主人留下些什么吧!~~