Next
Previous Contents
Linux for PowerPC Embedded Systems HOWTO
Graham Stoney
<greyham@research.canon.com.au>
23 October 2000
A distillation of the collective wisdom from the linuxppc-embedded mailing list on how to build an embedded PowerPC-based Linux system.
1.
Introduction
1.1 Copyright
1.2 Updates
1.3 Credits
2.
Resources
2.1 Home Page
2.2 FTP site
2.3 Mailing List
2.4 General information about Linux for PowerPC
2.5 PowerPC Programming
2.6 Usenet Groups
2.7 Other Useful Resources
3.
Target Hardware
3.1 CPU
3.2 RAM and ROM space
3.3 Commercially available boards
4.
Host Development Platform
4.1 PowerPC
4.2 x86
5.
Compiler Toolset
5.1 Building the toolchain
5.2 gcc
5.3 binutils
5.4 Precompiled/Prepackaged Kits
6.
Programming the Target
6.1 BDM/JTAG Downloading
6.2 TFTP
6.3 Flash/EPROM Programmers
7.
Boot Sequence
8.
ROM Monitor
8.1 PPCBOOT
8.2 LiMon
8.3 PMON/2000
8.4 PPCForth
8.5 DINK32
8.6 8xxROM
8.7 FADSROM
9.
Boot Loader
9.1 bugboot
9.2 Memory Map
10.
Kernel
10.1 Series
10.2 Porting
10.3 Patches
10.4 Contributing
10.5 Submitting Patches
10.6 Coding Style
11.
Device Drivers
11.1 Examples
11.2 Flash memory
11.3 PCMCIA Cards
11.4 IDE/ATA Disk Drives
11.5 PCI Bridge
11.6 Watchdog
11.7 USB for MPC850/823
11.8 A/D and D/A
11.9 VME
11.10 HDLC/PPP
12.
Runtime Library
12.1 glibc
12.2 sglibc
12.3 libc5
12.4 dietlibc
12.5 newlib
13.
Root File System
13.1 NFS Mounted
13.2 Initial Ramdisk: initrd
13.3 ROMFS Flash File System
13.4 cramfs
13.5 ramfs
13.6 Journaling Flash File System
14.
Floating Point
14.1 Software
14.2 Hardware
14.3 Mixed
15.
Real Time Response
15.1 Soft
15.2 Hard
16.
Threads
17.
Applications
17.1 Standard GNU tools
17.2 Standalone Shell
17.3 Web Servers
17.4 Graphical User Interface
17.5 Java Virtual Machine
18.
Debugging
18.1 BDM
18.2 Serial Console
18.3 GDB
18.4 Kernel
18.5 Oops Messages
18.6 printk
19.
Performance
19.1 Cache
19.2 CPU core
19.3 IDMA
19.4 Network
19.5 Optimisation
20.
Common Mistakes and Problems
20.1 Changing KERNELBASE/KERNELLOAD
20.2 Leaving the Watchdog enabled
20.3 Mixing code compiled for software and hardware floating point
20.4 Using an unmodified glibc
20.5 "Kernel Mode Software FPU Emulation" panic
20.6 NFS gives "neighbour table overflow"
21.
Alternatives
21.1 eCos - Embedded Configurable Operating System
21.2 RTEMs - Real Time Executive for Multiprocessor Systems
21.3 Small FreeBSD
22.
Glossary
22.1 ABI - Application Binary Interface
22.2 BDM - Background Debug Mode
22.3 CPM - Communications Processor Module
22.4 CPU - Central Processor Unit
22.5 DMA - Direct Memory Access
22.6 EABI - Embedded Application Binary Interface
22.7 FEC - Fast Ethernet Controller
22.8 IDMA - Independent DMA
22.9 MII - Media Independent Interface
22.10 MMU - Memory Management Unit
22.11 PHY - Physical Interface
22.12 SCC - Serial Communications Controller
22.13 SDMA - Serial DMA
22.14 SIU - System Interface Unit
22.15 SMC - Serial Management Controller
22.16 UART - Universal Asynchronous Receiver Transmitter
22.17 UPM - User Programmable Machine
Next
Previous Contents