词条 | g-bios |
释义 | 项目简介:g-bios是由 Intel、IBM、Qualcomm、AMD 的几名资深软件工程师与开源社区共同研发的一个 Bootloader,或者说是一个嵌入式系统的 BIOS,类似于u-boot(另一个有名的Bootloader,由德国人发起)。g-bios的作用相当于 PC 机的BIOS + Bootloader。g-bios 不但借鉴了几乎所有主流 BSP/BIOS/Bootloader 的优点,而且加入不少独创的特性。 项目主要负责人是有着业界狂人之称的Conke Hu(毕业于浙江大学,原Intel、AMD公司资深软件工程师/项目经理,AMD Chipset Linux Kernel负责人,Linux Kernel、g-bios等开源项目开发者),目前他也是MaxWit公司的主要负责人。 独创之处:主要有以下几点: 1、自动检测有待烧录的 image 文件类型,并智能自动烧录。 2、支持多种文件系统,包括 YAFFS2、JFFS2、CRAMFS、UBI、NFS 等。 3、命令行自动补全(Tab)键及历史记录(上、下键)支持。 4、Flash(MTD) 分区支持,帮助 Linux、Android 内核识别分区。 5、自动设置 Linux 内核启动参数(Linux kernel command line),极大地降低了参数设置的复杂度并减少了启动出错的概率。当然,同时也支持手动设置,以满足特殊要求。 6、常用命令具有记忆功能。如 boot 命令,它能记住用户输入的参数,以后只需简单输入boot 即可。 7、引入全新的架构及 NB 技术(即 Never Burn-down,又称 “烧不死” 技术)。开发人员可在没有仿真器的情况下大胆开发 Bootloader 。事实上,只需一根串口数据线应能轻松完成整个 g-bios 的开发。启动代码的地址无关性带来的麻烦?没有了!因为 bug 或不小心改错了代码,甚至是数据线连接问题而导致启动黑屏?也不可能出现了! 8、支持完整的中断机制。开发者可简单地通过一个编译选项选择 IRQ 或 Polling 两种模式的中的任意一种。 9、优秀的网络子系统,并提供符合 POSIX 规范的 Socket API,方便二次开发。 10、支持多种常用外设,包包括:WDT、UART、NAND、NOR、SD/MMC、USB、LCD、Touchscreen,… 11、集成硬件调试/测试程序,大大提高了 bring-up 的工作效率。 12、完美支持 Google Android 操作系统,简化 Android 的系统移植过程。 13、支持图形化配置,不但让新手很容易上手,而且使 g-bios 的移植和开发过程变得更简单 体系架构G-bios体系结构详见左图。其在MaxWit嵌入式Linux体系中的位置如右图所示。 源码获取:在获取源码前请首先安装svn,源码地址 在线参与项目或讨论ChinaUnix 论坛上的 g-bios版块 MaxWit其它开源项目1、Lablin在该开源项目中可以学习(初学者)或开发(有经验者)如下一系列技术: 1、完整嵌入式开发环境搭建。如设置TFTP、NFS等网络服务器,SVN(或其他工具)管理代码,安装Windows虚拟机等等细节,更重要的是,如何使用标准源码,从头到尾,自己打造一个最新的Cross Toolchain,比如支持NPTL和EABI的gcc-4.4 + glibc-2.9/uClibc-0.30! 2、移植、开发bootloader,包括g-bios和u-boot等。这个过程虽然不难,但我们可以借bootloader更轻松更细致地研究X86、ARM等体系结构。 3、移植、开发Linux kernel,这部分可易可难,试想在一个内核不支持的全新的板子上跑起Linux及所有的驱动,这个工作量也不少。 4、创建ramdisk和rootfs。这个基本上是个手工活,但也必不可少。 5、移植、优化或开发Lib,包括:音视解码器、GUI库、OpenGL、多媒体、SQLite、WebKit等。 6、移植、优化或开发Java VM,支持Java开发也非常重要。 7、移植、优化或开发Application,包括:设备管理工具、媒体播放器、窗口管理器、游戏(当然,不是贪吃蛇)、浏览器、即时通讯工具、嵌入式数据库、办公软件等。 该开源项目并不是简单的移植工作,事实上,多数时间是在从事研发:进行Linux内核的新特性的分析和改进,驱动调试,libc源码分析,汇编语言/MMU/中断的研究、QT、嵌入式版GTK+、DirectFB、SDL、TCP/IP协议栈的实现等等。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。