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