应用c进行嵌入式Linux的研究

欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入

  TargetWizard同时与其它的功能模块紧密相连,PackageEditor是一个可视化的环境来导入新的驱动程序、应用和库文件,PCS同时也提供了手动方式来完成这些功能的方法;LinuxKernelImportTool可以用来导入新的Kernel;GNUToolchainImportTool可以用来导入新的toolchain;DebianBinaryImportTool允许开发者下载并导入多种公开发布的DebianGNU/Linux二进制应用程序;ExportBSPtool可以用来导出BSP,是生成BSP的工具;SkeletonDeploymentWizard是可以设置一些通用属性的部署工具;GDB(GNUDebugger)和DDD(DataDisplayDebugger)是目标镜像文件已经部署到目标板上的调试工具。

    3.基于平台创建套件的嵌入式Linux应用的开发过程

  进行嵌入式Linux的开发大致都采用以下的开发过程:

  1.基于功能需求选择一个目标板(MCG,Force,PC104,PPC,等等)或者根据需求选择一个处理器(购买一个评估开发板)和外围芯片,定制目标板。

  2.定制和配置操作系统。

  3.开发定制的应用。

  4.重新配置软件,进行部署。

  5.维护软件。

  使用平台创建套件(PCS)可以加速整个嵌入式系统的开发过程。下面介绍使用平台创建套件(PCS)进行嵌入式系统开发可以采用的详细的开发过程。

  ?评估硬件和软件

  根据功能需求购买评估目标板或定制目标板,并准备开始进行自己的设计。

  ?安装PCS和BSP

  现在最新的PCS版本是3.0,它可以运行在很多主流X86Linux平台上,其中包括RedHat9.0,RedHat8.0,SuSe8.2,SuSe8.1,Debian3.0。Metrowerks提供了很多种平台的参考BSP(BoardSupportPackage,板极支持包),包括X86,MotorolaPowerPC,MIPS,ToshibaTx,arm,ColdFire,HitachiSH等多个系统的BSP。

  ?为目标板创建一个项目

  基于BSP创建一个新的项目。PCS有一套非常优秀的BSP管理系统,帮助开发者在同一个开发环境里同时存在互相不干扰的不同的目标板项目,每个不同的BSP中包含不同的Linux内核和工具链,为项目提供交叉编译环境。PCS提供了一套界面非常友好的项目创建项目向导,帮助开发者选定BSP和进行项目设置。选择已经存在的配置状态文件,或者使用默认的配置状态文件。不同的配置状态文件可以保证开发者在同一个项目中有不同的配置,这样用户可以很方便的不同的配置中切换,而不用重新进行配置。下一步是进行内核裁减配置。大多数BSP已经提供了一个默认的内核配置,可是根据功能需求的不同开发者经常需要自己进行内核的裁减工作。在PCS中进行内核的裁减是相对简单的多的事情,开发者不需要使用繁琐的文本菜单进行配置和手动编译内核。

  ?软件包配置

  PCS中包含了几十个通用的常用软件包,避免了开发者到处寻找的烦恼。用户可以通过PCS自带的PackageEditor工具导入自己需要的软件包。开发者可以在PCS中进行软件包的配置,例如打开guilibrary,关闭webserver等工作都可以轻松完成。

  在PCS中进行软件包的配置是非常简单的,只需要在软件包的上下文菜单中选择即可。

  图二:软件包配置

  编译这个项目

  PCS允许开发者按照自己的期望来对Linux部件进行编译。开发者可以只编译那些上次编译之后重新配置的部件,也可以强制编译项目所包含的全部的部件,不管是否已经编译过。

  ?部署Linuxloader和开发包到板上

  对于已经存在的SBC,应该已经提供了这些软件包。对于定制的目标板还需要做下面的工作:用于目标板的bootload固件,板上bring-up,远程bootload等。这样就完成了开发模式下最小板上环境。

  ?完成新的驱动程序

  如果功能需求需要的话,开发者要完成为目标板的特定硬件驱动程序。

  ?开发应用

  开发者开发运行在目标板上的应用,开发者可以使用随同PCS一同发布的CodewarriorIDE进行应用的开发和调试。

  ?重新配置:由开发模式转换到产品模式

  修改目标板固件:

  支持本地bootload。

  支持本地根文件系统,通常将根文件设置为只读模式。

  去除开发用的遗留部件:

  去除调试工具。

  去除用于方便开发而导入的无用部件。

  去除无用的类库,只保留需要的那部分。

  为启动特殊的应用而改变启动过程。

  最终产品测试。

  ?部署最终产品,发布产品。

  软件的部署是一个比较复杂的过程,但是PCS提供了一个非常方便的部署向导,可以在很大的程度上减少部署的工作量。部署的过程包括为目标板生成嵌入式镜像文件,然后部署到目标板上。在部署之前需要使用PCS提供的交叉编译环境对所有的软件包进行编译。PCS会帮助开发者生成系统的镜像文件,包括生成文件系统,转换格式使得镜像文件可以下载到目标板上。PCS提供了一个扩展性很好的策略,就是开发者可以开发自己的部署向导来完成一些特殊的部署操作,在PCS文档中有非常详细的关于这部分功能的介绍。

  ?在PCS中导出新的BSP,可以在以后的开发中应用。

  PCS提供了一套图形化的导出BSP的工具,用户在图形界面上进行简单的设置之后就可以导出的BSP以便在以后的开发中使用。大多数的项目是在一个已经存在的BSP的基础上创建的,导出的BSP可以让很多成果和解决方案在以后的项目中得到应用,这是非常必要的。

    4.结束语

  通过对使用平台创建套件工具进行嵌入式Linux应用开发过程的研究我们可以看出平台创建套件工具在Linux内核配置,部件之间的依赖关系的管理和冲突的避免,生成在目标板上可运行的目标文件,调试目标板和导出BSP方面都有非常新颖且可行的处理方式。

[1][2]

转动心中的期待,血在澎湃,吃苦流汗算什么。

应用c进行嵌入式Linux的研究

相关文章:

你感兴趣的文章:

标签云: