MPC85XX平台的u-boot分析

本文介绍u-boot在MPC8560平台上的移植及代码分析,详细讲述了编译流程与关键代码段。同时展示了如何在SkyEye上运行MPC8560的u-boot。
  作者:michael.kang(blackfin.kang@gmail.com)
关键字:MPC8650 TLB CPM u-boot skyeye

简介
本文介绍了u-boot在MPC8560平台上的代码实现,并结合MPC8560平台的特性,对u-boot的对MPC8560处理器的启动代码进行了分析。最后我们还介绍了在SkyEye上运行MPC8560的u-boot镜像。

前言:

MPC8560平台是freescale公司是PowerpcQUICC II的下一代通讯处理器。它为网络和通讯外设提高了强大的计算能力,从而提高了整个系统的吞吐量和性能。它的主要架构是由一个高性能的e500的核和一个通讯处理器模块(CPM)组成. e500的核实现了powerpc BOOK E的ISA。

u-boot是一个目前最为流行的bootloader,它的特点是功能强大,支持的硬件平台非常多。目前在u-boot .1.1.6已经对MPC8650平台有很好的支持。

1、u-boot编译
编译MPC8560的u-boot,我们首先要下载支持e500的cross toolchain,我们可以在http://www.crosstool.org/ 网站下载cross的0.43版本,然后从以下链结再下载e500的补丁文件。
http://ozlabs.org/pipermail/linuxppc-embedded/2005-January/016398.html

在解压cross的0.43版本,并且打完我们下载的两个e500的补丁之后,我们可以运行一下命令来生成e500的toolchain:
./demo-e500.sh

在默认配置下,e500的交叉编译器会生成在/opt/crosstool目录下

然后我们运行export命令设置交叉编译器的路径
export PATH=$PATH:/opt/crosstool/gcc-3.4.3-glibc-2.3.3/powerpc-linux-gnuspe/bin/

在制作完交叉编译器之后,我们就可以开始编译u-boot了,这个我们很容易的运行下面的命令就可以完成:
make MPC8560ADS_config CROSS_COMPILE=powerpc-linux-gnuspe-
make CROSS_COMPILE=powerpc-linux-gnuspe-
当前目录下会出现u-boot的文件,这个就是我们编译出来的MPC8560的u-boot镜像文件。

2、u-boot代码分析
按照e500的架构描述,MPC8560启动时,会执行0xFFFF_FFFC地址的指令,这里存放的是u-boot代码中的cpu/
mpc85xx/resetvec.S一条跳转指令,如下:
b _start_e500
然后u-boot就开始执行cpu/mpc85xx/start.S处的_start_e500函数,这个函数比较长,我们进行主段分析:
mfspr r0, PVR
lis r1, PVR_85xx_REV1@h
ori r1, r1, PVR_85xx_REV1@l
cmpw r0, r1
bne 1f
然后在跳转到_start函数中执行:
在_start函数的最后,会调到:
bl cpu_init_f
bl icache_enable
bl board_init_f



在board_init_f的最后,会调用relocate_code函数,把一部分代码拷贝到ram中执行。 3、在SkyEye上运行MPC8560的u-boot
从skyeye的SVN中获得最新的SkyEye源码,并且运行make编译skyeye.我们可以在binary目录下找到SkyEye
的可执行文件
然后把这个可执行文件拷贝到u-boot的源码目录,并且在u-boot的源码目录下编译MPC8560的skyeye配置文件
skyeye.conf,内容为:
#skyeye config file sample
arch:ppc
cpu:e500
mach:mpc8560
mem_bank: map=M, type=RW, addr=0xFF000000, size=0x1000000

然后运行 "./skyeye -e u-boot", 我们就可以看到u-boot可以成功的在SkyEye上运行起来。

需要注意:
SKyEye还在不断更新过程中,本文描述的一些过程可能会有改变。请到Skyeye的官方网站查找关于运行
MPC8560的一些信息。
MangaMeeya 是一款在日本很有名气的电子漫画阅览工具,具有速度流畅、操作灵活、书籍管理便捷等优点,并支持多种流行的图像插件,使其功能得到了非常自由的扩展。 图片读取和显示的速度极快是本软件最大的优点,而且作者一直在朝着这个方向努力。本软件复杂的运用了预读技术,您只要以正常速度阅读,图片再大也不会感到丝毫延迟。对于非常大的图片压缩包,无论再快的 CPU 也得数秒钟时间载入,这时您只要选择边载入边阅读,就可以做到一秒钟也不用浪费了。而且在读取完成之后,短时间内再次读取本压缩包将不再花任何时间。在预读功能之外,本软件的读取速度也异常优秀。如果图片大小正常,像实体书那样只用几秒钟时间从头翻到尾的事也能轻松做到。 ·如何以最快的速度浏览:关闭“工具”下拉菜单内的“启用翻页效果”、“启用Avisynth滤镜”,打开“预读文件”、“预读所有文件”。 ·如何实现边载入边阅读:在读取很大的压缩包时,“正在列出文件”对话框会自动出现,点击该对话框内的“在后台列出(按储存顺序)”即可。 本软件可以使用纯鼠标、纯键盘、纯手柄操作,当然也可以混合操作。所有功能的按键都可以自定义,所以绝对不会碰到操作不顺手的情况。和键盘一样,鼠标和手柄也有多键组合功能,不用担心按钮不够用。鼠标中还有一个非常有用的功能——鼠标手势(见本段尾的介绍)。鼠标手势的好处是在程序的操作上完全解放了眼睛,以前必须用眼睛确定菜单项的位置、窗口内按钮的位置、键盘按键的位置,现在则再也不用了,只要像写字一样划上几笔,就可以完成大量复杂的操作,这期间眼睛完全不用离开阅读的内容。 ·如何自定义操作设置:所有的操作设置都在“工具”下拉菜单内的“操作设置”子菜单内。 ·手柄如何进行组合按钮设置:每个按钮对应的功能在手柄对话框内设置,默认按钮5为“自定义控制键”,即组合键。“自定义控制键”与其他按钮组合后的功能也在同一窗口内设置。 ·如何使用鼠标手势:默认设置是以右键拖拽激发鼠标手势功能,只要在主窗口内按住右键拖拽出大致的走向,就会激发该走向对应的功能。比如默认向上拖拽是切换全屏幕,按住右键向上拖拽然后放开,程序就由窗口切换为全屏了,再次向上拖拽的话,就恢复到窗口状态。在“鼠标设置-手势设置”窗口内可以自定义拖拽走向对应的命令,在左边的方框中可以进行可视模拟操作。 不管对于电子书还是实体书来说书签(也就是书籍的管理)都非常重要,本软件设立了一个专门的主菜单项用作书籍的管理,可见其重视程度。在单个书籍(文件夹或压缩包)内部的管理上,程序设有中断点一个(关闭书籍时程序自动设置),记号一个(手动设置用),书目无数个(手动设置用)。程序可以在开启某个书籍时自动转到中断点或记号处,以便继续上次阅读。书目上可以写上简短文字,为书籍分出章节,当然作为普通的书签用也行。在书籍与书籍之间的管理上,程序设有四个列表:播放列表(当前阅读的书籍)、历史(之前阅读过的书籍)、收藏夹(文字式的仓库)、书架(带图片的仓库)。您还可以把任意列表保存为其他文件,等需要时再载入,这样就不用担心列表不够用了。 ·怎样设定打开书籍时转到上次关闭处:“工具-环境设置-一般设置1”内,选中“从中断处开启”。 ·怎样编辑书目:打开书目列表的快捷键默认为“鼠标手势-左”。编辑书目的操作和在 Windows 下修改文件名一样。 ·书架的使用:在列表内的该书籍项目上点击右键,选择“加入封底”。调好“加入位置”(纵坐标)和“加入宽度”后确定,该图块就连同文件信息一起被加入书架中。要显示图片式的书架请选择“查看-显示书架”。“加入封面”后不会显示在书架内,但可以在封面缩略图中看到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值