Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Motorola微处理器bootloader分析与应用

来源:赛迪网技术社区  作者:Webmaster 时间:2007-06-04 点击: [收藏] [投稿]

  三、bootloader用户应用

  1、bootloader的系统移植

  由于Motorola的dBUG bootloader为一标准的范例程序,要将其移植到具体的嵌入式系统中,还需要根据系统的硬件配置,修改其部分配置文件和底层接口文件。本文以用于网络数据存储的ColdFire5307C3开发板为例,介绍在其上的dBUG移植过程。

  ①  ColdFire5307C3开发板硬件情况:
  ColdFire5307 32位处理器,16MB (32位数据总线)SDRAM,2MB (16位数据总线)Flash ROM,2 UART,10Mbps (16位数据总线)以太网接口。

  ②  修改bootloader的处理器和配置相关文件:
  a. 根据5307处理器手册及用户需要,修改vector.s中的中断矢量表。
  b. 根据5307处理器手册编写mcf5307_lo.s文件。
  c. 根据板上的硬件配置修改sysinit.c文件,编写相应的硬件初始化函数。
  d. 根据系统配置修改config.h和board.h文件。
  e. 根据需要修改mxxxx_mwerks.h和mwerks.h,设定某些编译选项。
  f. 根据需要修改连接配置文件Flash.lcf,设定连接时目标代码的地址分配。
  g. 编写相应的硬件驱动,如该板上用到的MBM29LV 160BE70 Flash芯片的驱动程序文件am29xxxx.c和am29 xxxx.h、该板上用到的网卡芯片的驱动程序文件Ns8390.c以及5307的串口驱动函数等。

  2、bootloader命令简介[2]

  dBUG提供了丰富的调试命令:

  ①  程序流程控制命令reset(系统重启)、go、exe(用户程序执行)、br(断点设置)、step(单步)、trace(单步跟入)、gt(运行到);

  ②  内存和寄存器操作命令md、mm(内存查看和修改)、rd、rm(寄存器查看和修改)、bm(内处块移动)、bf(内存块数据填充)、bc(内存块比较)、bs(内存块查找);

  ③  指令和数据操作命令dc(数据转换)、dis(反汇编)、asm (汇编指令插入)、sym(符号表管理);

  ④  程序下载命令dl(通过串口下载)、dn(通过网络下载)。

  3、bootloader用户功能扩展

  除了dBUG bootloader本身提供给用户的命令外,用户还希望根据不同的情况定制自己的命令。如Linux加载、μC/OS加载、kermit下载等。一般自己添加的命令都会放在一个单独的C文件里面。为了方便,用户也将自己添加的命令都放在board.c文件的最后。

  例如,用户想要给dBUG添加μC/OS操作系统加载的功能,除了在dBUG中加上自己的程序加载代码外,还应给dBUG添加一个名为ucosii的用户命令。这样可以通过在界面上输入命令的形式实现相应的加载功能。首先应该在board.c里面实现这个函数:

  ucos_boot (int argc, char **argv)
  {
  …………
  }

  而后,应在cmds.c文件里面声明这个函数,并在紧接着的UIF_CMD UIF_CMDTAB数组里面声明这个命令的特性和参数。

  {“ucosii”, 4,0,0,0,ucos_boot, “Boot uCOS-II from RAM”,””},

  其中,第一个test字符串是命令的名称,第二个4表明命令识别的时候要匹配4个字符才行,最后的字符串是help命令时对test命令的解释。在描述中间的test表明指向的函数名称。这样就很方便地添加了这个用户命令。

  四、结论

  综上所述,Motorola公司的dBUG软件由于其良好的源代码组织结构使得用户在其上开发应用非常方便,用户稍加修改就可将其移植到不同的硬件平台上。它拥有良好的用户界面,不仅可以完成用户所需的程序下载、加载等功能,而且还可以方便地进行调试,使用户可以更好地监控自己的程序。除此之外,用户还可以很方便地添加自己所要的功能,其结构具有良好的可扩展性。所以,Motorola公司的dBUG bootloader的确是一个优秀的bootloader范例,给广大的嵌入式系统开发者提供了一个不错的选择。

  参考文献

  1  dBUG Reference Manual. Revision 0.21. 1999-04-08
  2  马鸣锦, 蒋烈辉, 杜威, 等编著. 基于M.CORE微处理器的嵌入式系统. 北京:国防工业出版社,2003(责任编辑:凌云通)



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Fedora Core5 NFS服务器搭建过程介绍   下一篇:没有了

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号