从Moblin了解Linux BSP

BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。
  例如Linux中的网卡驱动,是在space.c中声明该网络设备,再把网卡驱动的一些函数加到dev结构中,由函数ether_setup()来完成网卡驱动的安装。
  Linux系统有两大主要部份:带设备驱动程序的Linux核心;以及根文件系统,包括系统所需的全部支持应用程序、服务和库。
  除了驻留在目标板上的OS组件外,还需要制作一个由GNU Compiler Collection构成的交叉编译环境,为库和二进制程式(binutils)提供支持。
  虽然几乎每一个组件都可在网上找到,但在硬件或设备驱动程序支持、整合测试信息、交叉编译指南或软件兼容性方面却很难收集到太多信息。尽管开发者可从 网上免费下载各种组件以配置嵌入式Linux操作系统,但每个组件在版本、支持、稳定性和测试等方面的状态则需要开发者自己决定。

  如果我们通过给出不同的BSP,是否就可以适配下面多样的硬件。在Moblin的网站上是这样写道的:Moblin的核心即Moblin core,即他的Common Layer,层次结构如下。

  User Interface(UI), User Interaction model  
   Moblin Core (Common Layer)  
 Linux Kernel, driver

  我们可以将BSP也归入到最下以层,或者放置在更底一层。如果我们的MID都是基于Intel的X86主板,BSP可能不需要多种的适配,但是如果我们需要往手机方向发展,需要适配多种的硬件,就需要涉及多个BSP。而Intel给出的Moblin 2,他根据芯片的特点,给出他们的BSP,并通过Moblin core这一层向用户提供一些lib,例如可以通过硬件来进行codec的处理。
  Moblin给出的不是那么独立的层次话,Intel必然提供BSP,也可能涉及一些driver,并且通过在Linux kernel上面的Moblin Core一层,来提供芯片优化的一些功能,也提供Moblin社区封装的API。

你可能感兴趣的:(从Moblin了解Linux BSP)