您的位置 首页 软件

PowerPC渠道Linux的移植(一)

PowerPC平台Linux的移植(一)-PowerPC是早期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,商标权同时属于IBM和Motorola,并成为他们的主导成品.IBM主

PowerPC是前期Motorola和IBM联合为Apple的MAC机开发的CPU芯片,商标权一起归于IBM和Motorola,并成为他们的主导制品.IBM首要的PowerPC产品有PowerPC604s(深蓝内部的CPU), PowerPC750,PowerPCG3(1.1GHz).Motorola首要有MC和MPC系列.虽然他们产品不一样,但都选用PowerPC的内核.这些产品大都用在嵌入式体系中.咱们这儿要介绍的,首要是针对IBM在xilinx渠道上推出的PowerPC嵌入式内核。本文所写的内容,根本上都是用于XUP大学方案开发板的,可是其间许多进程都是通用的,你完全能够在Xilinx ML-403开发板或许其他相应板子上参看这些进程,它们之间最大的差异便是创立SystemACE时的指令行不同,在相应的部分会详细解说。应该说不管什么渠道,整个流程都遵照于:Kernel preparaTIon —》 isntall BSP —》 Build hardware platform —》 Memory test —》 Build kernel image —》 Download本文假定读者对linux环境下ISE,EDK等东西的操作现已了解,并对在XUP开发板上定制根本硬件体系现已了解,因而不再详细触及这方面的问题。本文作者直接运用linux作为开发环境,因而文章中也不会触及穿插编译环境的创立,假如你是windows用户,请自行参看网上有关cygwin的文章;假如你所运用的操作体系是linux,但对开发环境的树立不了解,能够参看我之前写的linux下eda东西装置这篇文章;假如你对硬件体系的定制还不算了解,请将问题针对到某一个模块,然后留言问询。整个文章比较长,从现在现已写了的内容来看,或许要分三个部分发布。这儿是榜首部分。根本体系信息软件:ISE和EDK都是9.1,没有sp,操作体系是ubuntu 7.04;硬件:XUP开发板,usb下载线;根本体系组成:300MHz PPCopb_sysaceopb_ethernet (无DMA)DDR memory controlleropb_uart_16550plb_bram_if_cntrl(bram挑选最大容量)一切部件都要有中止支撑。依照上面的根本要求把体系构建起来,OS先挑选standalone,跑一个根本程序看一看。只要承认根本体系正常之后,才能够知道今后移植体系时遇到的缺点是否是硬件原因。在EDK中创立BSP首要,翻开软件渠道设置的选项,依照下列进程履行:1. 将PPC_405_0的OS设置为linux_mvl31,我这儿的版别是1.01.c2. 进入Library/OS选项,其间,MEM_SIZE设置成你所用渠道上内存的容量,比如是256MB就设置成0&TImes;10000000,依此类推。 PLB_CLOCK_FREQ_HZ是你PLB总线的频率,XUP是100MHz,也便是100000000,其他类型开发板自行修正。 TARGET_DIR是你用于寄存BSP的途径,留意,途径千万不能有空格。3. 增加硬件,在connected_periphs里边,不过一般点进去之后就都现已帮你主动增加好了。4. 履行libgen。假如一切顺利,就能够生成相应的bsp了。假如在这个进程中呈现了什么问题,都能够去EDK装置目录下的sw/ThirdParty/bsp/linux_mvl31_v1_00_a/data/目录去看看相应的tcl文件,它们是用来实践履行BSP操作的指令。到这儿,你就现已有了可作业的bit流文件以及为Linux预备的BSP文件了。但风趣的是,我发现BSP的效果很小,一切edk9.1生成的文件,你所需求的或许就只要xparameters.h 和 xparameters_ml403.h真实有用,其它文件效果很少,假如你下载的Linux源代码是montavista的东西,甚至连这两个文件都不用了。当然,假如运用的电路板是自定制的,像xparameters_ml403.h就会有不同的macro界说,因而这两个是一定要掩盖默许的内核目录下的同名文件的。出于稳妥,最终仍是运用上这个BSP就行了。创立用于ppc的穿插编译环境一般,程序是在一台核算机上编译,然后再散布到即将运用的其他核算机上。当主机体系(运转编译器的体系)和方针体系(发生的程序将在其上运转的体系)不兼容时,该进程就叫做穿插编译。树立一个穿插编译东西链是一个适当杂乱的进程,假如你不想自己阅历杂乱的编译进程,网上有一些编译好的可用的穿插编译东西链能够下载。在这儿,咱们直接经过现成的脚原本树立ppc的穿插编译环境,假如你对自己编译树立这个环境感兴趣,能够自行参看文章如何为嵌入式开发树立穿插编译环境。考虑到绝大多数人运用的都是x86电脑,因而,树立适宜于ppc的穿插编译环境便是必要的。首要,到这儿来下载crosstoll的装置包。下载完后解压缩,进入文件夹,你就能看见许多类似于demo-arch.sh这种方式的脚本。每一种arch,对应的天然便是一种硬件渠道,而咱们这儿要运用的,便是demo-powerpc-405.sh。假如你对这套东西感兴趣,能够参看其运用说明。这儿,笔者只依据自己的开发环境来进行解说。在运用之前,需求先对脚本修正一下。翻开demo-powerpc-405.sh,TARBALLS_DIR是相关下载资源的寄存地,因为在装置穿插编译环境之前,需求从网上下载glibc,gcc等的源代码包。RESULT_TOP的值是装置后的目录,自行依据需求修正。别的找到这句话:eval `cat powerpc-405.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh –notestls将其间的gcc-4.1.0-glibc-2.3.6.dat修正为合适你渠道的dat文件。能够先看看文件夹里边有哪些dat文件,gcc-4.1.0表明gcc的版别,glibc-2.3.6表明glibc的版别,这些版别号都要和你实践机器上的版别号相对应。假如不预备修正目录,就在/opt目录下自己建一个crosstool目录,并将其权限改为可写,最终履行脚本:sudo mkdir /opt/crosstoolsudo chown $USER /opt/crosstoolsh demo-powerpc-405.sh之后,脚本就会依据你所修正的选项,去网上找相应版别的gcc,gdb,glibc,内核等,下载并编译装置。详细所耗费的时刻是和你的网速休戚相关的。假如你地点的网络速度很慢,主张你仍是不要尝试了,换个网络再测验吧。或许你能够看看脚本中TARBALLS_DIR目录的值,然后自行下载所需求的各种东西以及内核的源码包,并自己放到这个目录下,再履行sh demo-powerpc-405.sh即可。仅有需求留意的便是,你自己下载的环境东西源码包的版别需求和demo-powerpc-405.sh里边指定的版别共同。一切需求的资源下载结束之后,并不是就直接履行demo-powerpc-405.sh了,因为直接履行的话或许呈现一些问题,所以在之前要先做一些预备进程:1. 先unset LD_LIBRARY_PATH,至于为什么,笔者猜想是因为 LD_LIBRARY_PATH 环境变量一般都是由装置程序修正为包含相关库地点的目录,估量是编译环境时不能受已有库的影响,要在编译进程中暂时给LD_LIBRARY_PATH 一个值,编译完结之后再改回来。2. 装置语法分析程序生成器bison/flex,履行apt-get install bison flex即可。3. 将/bin/sh的衔接目标从dash改为bash,这是因为我挑选的glibc-2.3.6和dash有bug抵触。就算你不是用的glibc-2.3.6,也主张修正。先用ls -la /bin/sh看看你的sh链接究竟是什么。假如是dash,就要经过sudo ln -sf /bin/bash /bin/sh来更改。进行以上进程后,再履行demo-powerpc-405.sh ,编译进程就应该比较顺利了。当然这个用时也是比较长的,详细时刻取决于机器配置,强烈主张吃个饭,打打球,然后再回来看看~。环境构建完结之后,该环境下的东西列表如下:别忘了在PATH变量中增加途径,便是${prefix}/bin,这样你就能够直接运用这些东西了。转载自:fcni_cn的百度空间

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/179610.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部