Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1225983
  • 博文数量: 479
  • 博客积分: 12240
  • 博客等级: 上将
  • 技术积分: 4999
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-24 17:12
文章分类

全部博文(479)

文章存档

2014年(1)

2013年(1)

2012年(1)

2011年(95)

2010年(177)

2009年(167)

2008年(16)

2007年(21)

分类: 嵌入式

2010-06-18 16:34:11


G-BOIS是MaxWit开源项目的其中一个子项目,意在打造一个精炼、方便调试的嵌入式Bootloader,目前仅仅支持ARM处理器。

G-BOIS将整个bootloader分成上半部分和下半部分。上半部分短小精悍,小于4K,保证能在一些支持NAND  FLASH启动的处理器如S3C2410的NAND FLASH启动。上半部分完成了对CPU时钟、内存、NAND FLASH以及UART的初始化,并加入了kermit协议支持,可以支持从串口或者NAND FLASH读取下半部分并运行下半部分。

下半部分是G-BOIS的主体,也是整个bootloader的主体,支持其它子系统,如网卡、文件系统等等,下半部分才能真正的引导内核。

G-BOIS的设计思想与很多较新的处理器的bootloader架构类似,分成多级启动。如LPC3250的bootloader就分成了Kickstart、S1L以及系统级bootloader,需要3级才能引导操作系统启动。

为了方便分析G-BOIS,先列出G-BOIS的目录结构。

├─g-bios
│  ├─app
│  │  ├─boot
│  │  ├─device_mamger
│  │  ├─flash
│  │  ├─memory
│  │  ├─net
│  │  ├─serial
│  │  ├─shell
│  │  └─sys
│  ├─arch
│  │  └─arm
│  │      ├─atmel
│  │      └─samsung
│  ├─boot     //这个目录下的是G-BOIS的上半部分的实现代码。
│  │  └─arm
│  │      ├─atmel
│  │      └─samsung
│  ├─device
│  │  ├─audio
│  │  ├─bus
│  │  ├─flash
│  │  ├─graphics
│  │  ├─interrupt
│  │  ├─key
│  │  ├─led
│  │  ├─net
│  │  ├─rtc
│  │  ├─timer
│  │  ├─touchscreen
│  │  ├─uart
│  │  └─watchdog
│  ├─doc
│  │  ├─Chinese
│  │  └─English
│  ├─filesys
│  │  ├─base
│  │  ├─ext4
│  │  ├─fat32
│  │  ├─generic
│  │  ├─gfs
│  │  ├─ntfs
│  │  ├─yaffs
│  │  └─yaffs2
│  ├─include
│  │  ├─arch
│  │  ├─core
│  │  ├─flash
│  │  └─net
│  ├─lib
│  │  ├─arm
│  │  └─stdlib
│  ├─mm
│  │  ├─arm
│  │  └─heap
│  └─thread

阅读(1176) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~