免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5269 | 回复: 14
打印 上一主题 下一主题

开源项目g-bios介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-09 14:33 |只看该作者 |正序浏览
源项目g-bios介绍


简单地说,g-bios是一个Bootloader,或者说是一个嵌入式系统的BIOS,类似于u-boot(另一个有名的Bootloader,由德国人发起)g-bios的作用相当于PC机的BIOS + Bootloader

g-bios不但借鉴了几乎所有主流Bootloader/BIOS的优点,而且加入丰富的、独创的特性,包括:
1) 自动检测有待烧录的image文件类型,并智能自动烧录。
2) 多种文件系统支持,包括YAFFS1YAFFS2JFFS2CRAMFSNFS等。
3) 两种用户界面:GUI(类似传统PC BIOS)和命令行模式(面向嵌入式系统)。
4) 命令行Tab键自动补全。
5) 命令行历史记录及上下键支持。
6) Flash分区支持,帮助LinuxAndroid内核识别分区。
7) 自动设置启动参数(Linux kernel command line),极大地降低了参数设置的复杂度并减少了启动出错的概率。当然,也同时也支持手动设置,以满足特殊要求。另外,boot程序还具有记忆功能,即能记得用户上次输入的参数,以后只需输入boot即可。
引入全新的架构及NBNever Burn Down,烧不死)技术。核心设计思想是:把g-bios分为上半部分和下半部分,上半部分以最小的代码量完成CPUMemory的初始化,并实现引导下半部分的功能;下半部分为g-bios主体。上半部分设计简单,调试周期短,完成后就固化在特定的引导区中不再更改;开发人员可在没有仿真器的情况下大胆开发下半部分代码(即g-bios主体),事实上,只需一根串口数据线应能轻松完成整个g-bios的开发。启动代码的地址无关性带来的麻烦?没有了!因为bug或不小心改错了代码,甚至是数据线接触不良而导致启动黑屏?永远不可能出现了!J
在调试完成并正试发布的产品时,若有必要,也可将上下两部分可合成一个整体——只需一个命令重新编译即可。
9) 优秀的子系统设计:包括中断、网络、Flash、USB子系统,等等。
10) 集成Video BIOS
11) 支持make gconfig图形化配置,简化移植过程。
更多信息,参见项目主页http://g-bios.googlecode.com

论坛徽章:
5
15 [报告]
发表于 2008-12-12 10:14 |只看该作者
上半部是否有硬件平台相关性?

论坛徽章:
0
14 [报告]
发表于 2008-12-12 10:03 |只看该作者
和U-Boot/Vivi相比有什么优势?

论坛徽章:
0
13 [报告]
发表于 2008-12-11 13:42 |只看该作者
上半部(top half)所做的工作是为下半部服务的,她初始化一些必要的设备,比如SOC,UART,Memory Controller和Flash,当然为了支持串口传输,还实现了Kermit协议.这样code的size很小,烧写上半部很方便,且提高了开发效率.一些开发过程中的实验性代码可作为下半部分,由串口load到RAM中直接执行,既快速又避免了反复烧写,更重要的是,开发人员可在没有仿真器的情况下大胆开发下半部分代码,代码本身的bug或硬件问题而导致启动无反应的问题不可能出现了.

论坛徽章:
0
12 [报告]
发表于 2008-12-10 09:55 |只看该作者
主要还是要有硬件应用平台来测试

论坛徽章:
5
11 [报告]
发表于 2008-12-10 09:39 |只看该作者
原帖由 emmoblin 于 2008-12-9 23:02 发表
我和想了解一下上半部是怎么实现的。



同问.


感觉其它特性并无特别之处。

论坛徽章:
0
10 [报告]
发表于 2008-12-10 09:18 |只看该作者

回复 #1 fleya 的帖子

这个还是不好尝试的,没有工业化

论坛徽章:
0
9 [报告]
发表于 2008-12-10 08:14 |只看该作者
有想法,没办法!

论坛徽章:
0
8 [报告]
发表于 2008-12-09 23:15 |只看该作者
想法支持。

不过无论如何,动手才是最主要的。

论坛徽章:
0
7 [报告]
发表于 2008-12-09 23:02 |只看该作者
我和想了解一下上半部是怎么实现的。
grub启动不也是有stage1和stage2嘛
我倒是觉得没什么特别的地方。

做单一系统的bootloader很简单,难的是兼容所有平台的bootloader。
单独看uboot 中arm启动部分,代码很少了已经。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP