资源描述:
《powerpc平台的u_boot启动分析和移植》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、电子设计《微计算机信息》(嵌入式与SOC)2010年第26卷第8-2期文章编号:1008-0570(2010)08-2-0172-03PowerPC平台的U-Boot启动分析和移植U-BootBootingAnalysesandPortingonPowerPCPlatform(北京邮电大学)刘邦运别红霞LIUBang-yunBIEHong-xia摘要:引导加载程序是系统加电后运行的第一段软件代码,负责硬件设备的初始化,为加载操作系统内核做准备。U-Boot是目前比较流行的开放源码的引导加载程序。本文针对基于MPC8349E处理器的高速数据传输硬件平台,分析了U-Boot启
2、动流程,给出了PowerPC平台系统设计中U-Boot移植的过程和方法。关键词:PowerPC;U-Boot;MPC8349E;移植中图分类号:TP27文献标识码:AAbstract:Thebootloaderisthefirstpieceofprogramafterthesystemispoweredon,whichismainlyintendedtoinitializehardwaredevices,preparingforloadingOSkernel.U-Bootisabootloaderprogramofpopularandopensourcecode.Acco
3、rdingtothehard-wareplatformforhigh-speeddatatransmissionbasedonMPC8349Eprocessor,thepaperanalyzedU-Boot'sbootingsequence,and技thenintroducedportingprocessandwaysonthesystemdesignofPowerPCplatform.Keywords:PowerPC;U-Boot;MPC8349E;Porting术理器,目标板原理框图设计如图1所示。目标板的组成主要有:1引言创MPC8349E最小系统模块、高速网络传输
4、模块、存储及显示模随着高速数据传输系统应用的日益广泛,PowerPC系列处块等。新理器以其卓越的通信能力与高度的稳定性,在工业控制、高速通信领域具有重要的应用。处理器MPC8349E支持DDR2SDRAM、PCI、10M/100M/1000M三速率Ethernet控制器等,可用于以太网路由器、网络存储、工业控制设备等系统。本文基于MPC8349E设计一套用于分布式金属矿地震仪的高速数据转发器,以收集多通道地震数据,完成数据的网络采集与高速数据传输。在PowerPC嵌入式系统设计中,U-Boot移植是硬件系统设计完成后必须进行的重要环节。本文讨论了MPC8349EPow-e
5、rPC系统设计中U-Boot移植的关键问题。U-Boot常被用作PowerPC处理器的引导加载程序,是系统加电后进入操作系统内核之前运行的一段程序,通过这段程序,图1MPC8349E目标板原理框图完成CPU及外围设备的初始化,建立系统的内存映射,为最终引2.2目标板硬件上电启动流程导操作系统内核做准备。作为整个嵌入式系统运行起来的第一系统上电后,MPC8349E处理器会检测复位配置模块的输步,移植一个精简而且高效的U-Boot,可以很好地以最低的代价入信号,并根据它们的值来确定输入时钟分频模式及选择复位实现较高的系统管理。配置字源。设置复位配置模块的跳线,选择从local
6、busEEPROM在移植过程中,结合目标板上CPU、flash、SDRAM等外围的上加载复位配置字。由于这个EEPROM的数据宽度是未知的,情况,以尽可能一致为原则,选择一个U-Boot已支持的开发板MPC8349E会从EEPROM的起始位置前64个字节空间按字节作为参考板,实现U-Boot的目标板移植,确保板子硬件系统的依次读取所有配置字。地址0x00、0x08、0x10和0x18位置的字正确初始化并能顺利启动。本论文针对MPC8349E处理器的高节组成复位配置字的低32bit字RCWL,地址0x20、0x28、0x30速数据传输硬件平台,分析了U-Boot启动流程,并
7、进行U-Boot及0x38位置的字节组成其高32bit字RCWH。的目标板移植,解决了外围千兆网络芯片的驱动移植以及板子处理器读取复位配置字后设置相应的寄存器。RCWL和时信息交互、系统管理等关键问题,确保了硬件系统的顺利引导。钟设置相关;RCWH和PCI中断、主从模式、启动ROM位置、2MPC8349E高速数据转发器硬件TSEC模式等相关。RCWH的BMS位值为1,定义了e300核心的MSR[IP]位初始值,也就决定了中断向量的前缀0xFFF,启动平台存储空间的位置为0xFF80_0000~0xFFFF_FFFF;ROMLO