|
|
上海地区专业的网上书店 一次性购物满100元即可享受VIP会员价格优惠 |
|
| 首页 | 新书上市 | 畅销推荐 | 礼品图书 | 分类浏览 | 在线阅读 | 出版社专区 | 图书热评 | 求购登记 | 顾客留言 | 图书拾零 |
| 您的当前位置:新书城>在线阅读>Linux | |
MPC85XX平台的u-boot分析来源:CSDN 作者:michael_kang 发布时间:2007-5-3 人气:441 |
|
关键字: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 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的一些信息。 本文地址:http://read.newbooks.com.cn/info/123987.html |
|
| 正在装载数据…… | |
|
上一篇: Linux内核编译过程详解 下一篇: 学习LINUX 之一 (关于磁盘配额) |
|
| 本站所有文章由本站会员原创或转载,与本网站无关,如您认为侵权请来信说明。 |
·电话:021-66822880 ·邮箱: ·客服时间( 周一 至 周六 9:00-18:00
)Copyright © 新书城 2006-2007 , All Rights Reserved 沪ICP备06028173号 |
||