您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于PxA255的U-B00t启动分析及移植 正文
基于PxA255的U-B00t启动分析及移植

基于PxA255的U-B00t启动分析及移植

点击数:7669 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   嵌入式系统-技术
  3.4.3 驱动的移植

  在这一部分主要包括闪存和网卡驱动程序的移植。

  (1)FLASH驱动。这里所使用的目标板采用2片NOR型闪存,单片容量16 MB,数据线宽度为16 b,2片并作1个32 MB的数据宽度为32 b的。BANK。U-Boot本身支持CFI接口规范的闪存(CFI是针对NOR型FLASH提出的一种获取闪存和结构参数的操作规程和标准),涉及到的文件主要包括drivers/cfi-FLASH.c,comrhand/cmd_FLASH.c。要使U-Boot,支持CFI驱动,只需在include/configs/xsbase255.h中添加:

  #define CFG_FLASH_CFI

  #defineCFG_FLASH_CFl_DRIVER 1

  (2)网卡驱动。这里使用的目标板上采用的网卡是LAN91C96,U-Boot自带的驱动程序drivers/lan91c96.c恰好支持这个网卡,因此只需在include/Configs/xsbase255.h中添加相应的配置即可:

  #define CONFIG_DRIVER_IAN91C96

  #define CONFIG_LAN91C96_BASE 0x0C000300

  CONFIG_LAN91C96_BASE定义的值,应当由网卡的片选地址和I/O基址决定。如果U-Boot固有的驱动程序没有对目标板的支持,就需要自行在board/xsbase255目录下添加驱动程序,然后将其添加到本目录的Makefile中进行编译和链接。

  4 U-Boot的编译和下载调试

  在U-Boot根目录里输入命令:

  make xsbase255_config

  该命令通过./mkconfig脚本生成include/config.mk的配置文件,然后运行make命令,完成编译。如果在编译过程中出现错误,可根据错误的提示逐一排查。完成了错误的修改,在重新编译前,先运行make distclean命令,对先前编译生成的文件进行彻底的清除。

  成功编译后,会生成3种不同的映像格式,分别是:u-boot:.bin(二进制格式),u-boot(ELF格式)和u-boot.srec(S—Record格式),根据加载器的不同,选择合适的格式烧写到FLASH中进行运行调试。在此选择u-boot.bin,直接按照二进制格式下载。

  最有效的调试方法是下载映像到FLASH,使用硬件仿真器进行跟踪调试。但是由于硬件仿真器价格高等客观因素,采用软件跟踪的方法,利用目标板上的LED灯做出判断。一旦可以打印串口信息,就可以利用串口,将调试信息输出到屏幕上。

  5 结 语

  U-Boot是一个功能强大的:Bootloader开发软件,对多种开发板的支持使得它可以方便地移植到目标板上。首先详细分析U-Boot启动流程,然后详细介绍U-Boot在PXA255目标板上移植的全过程。目前U-Boot已经在目标板上稳定的运行,为Linux内核的移植打下了坚实的基础。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术