首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
U-Boot在MPC8265平台上的移植与分析
来源:本站整理  作者:佚名  2010-07-09 08:57:49





3 U-Boot的移植
    U-Boot在设计时已考虑到支持使用不同CPU处理器的开发板,根据具体板级硬件配置的设计要求,修改与其相关的源代码,将U-Boot移植到新的开发板上。这里开发板TDS8265外围接口主要有100 M网口、RS232串口和JTAG调试接口等。
3.1 修改U-Boot源代码
    为了简化移植工作,可在U-Boot源码中选择一个与开发板接近的参考平台,然后从移植U-Boot的要求和开发板能正常启动的角度出发进行修改。
    这里以在U-Boot/board目录下为TDS8265开发板新建文件夹TDS8265为例进行说明。
    1)修改头文件TDS8265.h路径是U-Boot/include/configs/TDS8265.h,是开发板的主要配置元件,配置CPU、系统时钟、SDRAM、Flash以及其他开发板相关信息。设置CPU寄存器参数,需仔细对照处理器datasheet中各寄存器的定义、参考设置、目标板实际情况等做出选择并测试。MPC82xx系列处理器较为关键的寄存器有SIUMCR、PS-DMR、SCCR、BRx、ORx等。设置CPU寄存器基地址IMMR时,注意与硬件配置相对应。如:
    
    设置与Flash控制相关的寄存器BR0、OR0时,根据目标板所用Flash的数据手册与BR0和OR0的相关位含义合理设置,这不仅关系到Flash能否正常工作,而且与串口调试直接相关。设置Flash、SDRAM,包括基址、大小、环境变量的偏移,内存刷新周期。设置环境变量,网络接口,IP地址,MAC地址,用于网络下载和启动;设置Linux内核启动参数init=/sbin/init。
    2)编写tds8265.c文件 路径是U-Boot/board/tds8265/tds8265.c。tds8265.c是目标板的SDRAM的驱动程序,涉及I/0端口表、相关寄存器的设置及SDRAM上电初始化过程3个主要部分。任何一部分有问题,都会影响U-Boot、嵌入式操作系统甚至应用程序的运行,所以SDRAM的驱动不仅关系到U-Boot本身能否正常运行,而且还与后续部分相关。根据MPC8265处理器datasheet和开发板的硬件电路图,配置8265的I/0端口表;设置寄存器PSDMR和BRl、0R1;向SDRAM中写入8次以初始化SDRAM等。SDRAM的初始化是由/lib_ppc/board.c中的board_init_f()调用的,入口为tds8265.c的函数initdram。
    3)修改config.mk文件 路径是U-Boot/board/tds8265/config.mk。修改中,对该文件中的TEXT_BASE赋值应与TDS8265.h中对CF-G_FLASH_BASE的赋值保持一致。
    4)编写flash.c文件 路径是U-Boot/board/tds8265/flash.c。flash.c是Flash的驱动程序,是U-Boot读/写、删除Flash的源代码
文件,其中包括多个函数,以实现不同的操作。如:
    
    编写flash.c文件时需参考Flash的数据手册,严格按照其中的说明实现Flash的各种操作。
    5)创建U-boot.lds,U-boot.lds.debug,makefile文件 这些文件均在目录U-Boot/board/tds8265之下。设置U-boot中各个目标文件的连接地址。
    6)修改MAKEALL文件 路径是U-Boot/MAKEALL。因为使用的是MPC8265,属于82xx系列,所以在“LIST_82xx”下加入目标板名称“TDS8265”。
    7)修改Makefile文件 路径是U-Boot/Makefile。在Makefile文件中增加TDS8265开发板的配置行,指定交叉编译器的完整路径名。
   

上一页  [1] [2] [3] 

关键词:

  • 好的评价
      0%(0)
  • 差的评价
      0%(0)

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

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:227,796.90000 毫秒