Embedded 版 (精华区)

发信人: he (无情的雨), 信区: Embedded_system
标  题: linux for ppc chapter 5 
发信站: 哈工大紫丁香 (2001年06月04日11:01:49 星期一), 站内信件

----------------------------------------------------------------------------
----
5. Compiler Toolset
You'll need the GNU toolchain to compile the kernel, particularly gcc and bi
nutils As a general rule for working with GNU software, the latest official
release is the best supported, has the most features and is usually the most
 stable. Also, you must use compatible versions, and there is generally no e
asy way to know which binutils version matches which arbitrary gcc version a
s their releases aren't synchronised. Hence, the best approach is generally
to start by using the latest official release of any given package from your
 nearest GNU ftp site listed at http://www.gnu.org/order/ftp.html.
Many people use a particular version simply because they already have the so
urce for it lying around, and waste a lot of time tracking down problems whi
ch were fixed by others months or even years ago. Grab the latest version at
 the outset, and you'll save an enormous amount of wasted effort.
If you need newer features which aren't in an official release yet, you may
need to move forward to the latest development snapshot from http://sources.
redhat.com/.
redhat.com/.
5.1 Building the toolchain
Instructions
A set of complete instructions for building a Cross Development system for L
inux/PPC is available at: http://members.home.net/mmporter/linux/cross/
Build Scripts
For pre-packaged scripts to build a PPC Cross Development Kit for MPC8xx, se
e: ftp://ftp.denx.de/pub/LinuxPPC/usr/src/CD-README and ftp://ftp.denx.de/pu
b/LinuxPPC/usr/src/CDK.tar.gz
SPARC/Solaris Hosted
For a guide to building the PowerPC/Linux cross compiler for a SPARC/Solaris
 host (if you can't use a Linux development host), see: http://www.borg.umn.
edu/~grant/Linux/cross.html
Getting Help
If you want to build a more exotic or unusual cross development environment,
 or need more help building the cross development tools, check out the cross
gcc FAQ and mailing list at: http://www.objsw.com/CrossGCC/
5.2 gcc
Check that you have the latest gcc (2.95.2). Don't waste your time with any
of the egcs releases as they've now been superceeded by gcc.
If you're using gcc-2.95.2 with binutils-2.9.1.0.25, you'll need a minor cha
nge to the gcc specs file regarding the linker emulation. You're better off
just using binutils-2.10 though.
5.3 binutils
There are currently two branches of binutils development to choose from. Eac
h have pro's and con's, and in many cases either one will work for you. They
 are typically referred to as the official "GNU binutils" and the "Linux bin
utils", although both are GPL'd GNU software, and both versions configure, b
uild and work fine on Linux. I suggest you use the official GNU version, unl
ess you encounter a problem which requires the "Linux binutils" version.
Official GNU binutils
This tends to be the most stable version. The last release was 2.10, which i
s your best bet. It works well with gcc-2.95.2, whereas the 2.9.1 needed a t
weak. If you must use the bleeding edge, the development snapshots on source
s.redhat.com are quite stable.
The most recent snapshot is available at ftp://sources.redhat.com/pub/binuti
ls/snapshots/binutils.tar.bz2
H. J. Lu's "Linux binutils"
At any given point in time, this version is based on recent official GNU dev
elopment snapshot, but with more experimental features and hastily implement
ed bugfixes. It is shipped with many Linux distributions. However, the chang
es in this version aren't as thoroughly reviewed and tested as those in the
official version, and the less well implemented features probably won't make
 it back into the official GNU version, so it's a good idea not to rely on t
hem.
hem.
Version numbering is somewhat confusing. The Linux binutils 2.9.5.x versions
 are based on snapshots of the official development post 2.9.1. In particula
r, any given version of Linux binutils numbered 2.9.5.x is not necessarily a
 later version than an official GNU development snapshot numbered 2.9.1.x.
Beware that Linux binutils-2.9.5.0.27 thru 29 will give you multiple definit
ions of _dl_start when building glibc-2.1.2. Try the official binutils-2.10
instead, or Linux binutils-2.9.5.0.22.
5.4 Precompiled/Prepackaged Kits
There are kits available which will save you the time of building your own t
ools, to get bootstrapped faster.
MontaVista Software Hard Hat Linux
http://www.mvista.com/
http://www.hardhatlinux.com/
They have a complete 8xx cross-development kit described in ftp://ftp.mvista
.com/pub/CDK/1.2/README available at: ftp://ftp.mvista.com/pub/CDK/1.2/.
You can also purchase this kit as an integrated part of their Hard Hat Linux
 distribution, and buy support for it directly from MontaVista.
It's also available as part of the Linux Planet kit from Embedded Planet.
QuickStack Linux
http://qslinux.com/
ftp://qslinux.com/pub/qslinux
This version of Linux is based on the PPC 2.2.5 kernel. It has been heavily
modified and targeted specifically to SNMC's MPC850-based product. It includ
es:
Subsystem for configuring and controlling I/O pins (qspin)
Hardware Watchdog support
Flash Filesystem (layered under Ext2FS)
Compressed Ext2FS (e2compr)
HDLC/PPP Driver
ATM Utopia Network Driver (AAL5/IP)
Multiple serial consoles
Much, much more
Denx Software Engineering
http://www.denx.de/solutions-en.html
ftp site
ftp://ftp.denx.de/pub/LinuxPPC/usr/src/
CD-ROMs
Offer a CD-ROM with LinuxPPC for MPC8xx Systems, especially for TQM8xxL Modu
les. It includes:
Sources and tools for a Cross Development Kit (CDK) for MPC8xx Embedded Powe
rPC Controllers on x86 Linux hosts
Pre-built, ready-to-run binaries of the CDK
Linux-2.2.13 kernel source tree for MPC8xx systems. There are also pre-built
 images for TQM8xxL modules.
 images for TQM8xxL modules.
Pre-installed native LinuxPPC root filesystem with all standard Linux tools
to be exported on a NFS server and used as root filesystem for Embedded PPC
systems.
Boards
They also ship hardware with PPCboot, kernel and root filesystem pre-install
ed. Just connect the power supply, and Linux is booting.
The Embedded Debian Project
http://www.emdebian.org/
Debian project philosophy applied to the embedded space. Especially good for
 developers already running Debian on the desktop.
Bright Star Engineering
http://www.brightstareng.com/
You may get a kickstart by purchasing Bright Star's SDK, particularly if you
're using one of their boards. For comments, see: http://lists.linuxppc.org/
listarcs/linuxppc-embedded/199912/msg00075.html
Lineo Embedix
http://www.lineo.com/products/embedix_linux/
Lineo Embedix Linux is an embedded Linux-based software solution that adds t
he power and connectivity of Linux to customized embedded devices. Embedix L
inux is engineered specifically for the unique speed, memory and storage req
uirements of embedded devices. Embedix Linux is based on a popular desktop L
inux distribution and is available for PowerPC and x86 microprocessors.
Red Hat Embedded DevKit
http://www.redhat.com/products/edk/
Gets you started with embedded Linux development using Red Hat Linux. The bo
x product includes a complete toolkit with IDE and ethernet-based debugging
and supports development of PowerPC architecture systems, along with the x86
 architecture.
Oddly enough, the minimum target CPU required by the x86 binaries in the kit
 is a Pentium/586, whereas the minimum desktop CPU for Red Hat Linux is only
 a 386. Embedded systems most often have less powerful CPUs than desktop one
s, not more powerful ones. This mistake doesn't affect PowerPC users at all,
 but you might want to consider whether this supplier is the best choice giv
en such a fundamental error.
----------------------------------------------------------------------------
---- 
--

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.250]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.384毫秒