首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于PxA255的U-B00t启动分析及移植
来源:本站整理  作者:佚名  2009-05-19 13:39:02




3.4.1 目标板配置文件的修改
    目标板配置文件inclLlde/configs/xsbase255.h,是移植过程中最重要的文件。在这个文件中,包括两种类型的配置,一类是选项,前缀是CONFIG_,用来选择处理器、接口、命令、属性等;另一类是CFG_用来定义总线频率、串口波特率等。例如:
    #define CONFIG_PXA255 1
    #define CFG_SDRAMBASE O xa0000000
    在这个头文件中,配置相当的重要,里面配置着主要硬件的参数,配置时必须结合相应的硬件手册才能正确的完成。主要的配置参数如表1所示。

    除了上述表格列举的以外,还有一些其他的参数需要修改,例如控制台串口缺省的通信波特率,缺省的环境变量设置(包括本地IP地址、以太网接口的掩码和MAC地址、服务器IP地址、传递给内核的命令行参数等),启动参数列表配置等。头文件的修改需要对目标板的硬件资源有相当的了解,主要参考处理器和目标板的开发文档。
3.4.2 目标板支持文件的修改
    目标板支持文件board/xsbase255/xsbase255.c也需要修改,此文件中的重点是board_init()函数,这个函数里包含与开发板密切相关的设备的初始化。bi_arch_number为系统启动时传递给内核的MACH号,如果这个参数与内核配置的不相同,则内核启动解压缩完成后将出现“Error:a”错误,提示用户这个是体系结构参数传递不正确。bi_boot_params为启动参数的地址,一般放在RAM起始的16 Kb处,在此设置为Oxa0000100。
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] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:27,191.41000 毫秒