You are on page 1of 12

uClinux course

Overview

Day 1 + Survey of embedded operating systems - why uclinux? + The uclinux environment - the directory structure Day 2 + Using the configuration tools for the kernel and user applications + Adding user application to uClinux Day 3 + The cross compiling tool chain (gcc, as, ld, objdump, objcopy) + Ripping apart a "Hello World" - it's not a simple program! + Memory architecture of the arm7tdmi processor - configuring uclinux for the arm Day 4 + To "Boot loader" or not to "Boot loader" + Hardware access and device drivers Day 5 + Debugging applicatgions with gdb + Downloading applications to the development kit using JTAG + Running bluetooth stacks on uclinux
2

Author: D L Johnson

uClinux course
Day 1 of 5
Survey of embedded operating systems - why uclinux?

uClinux day 1 of 5 Why uclinux

Why use an operating system


+ Memory management + Thread/process management + Drivers for input devices such as keyboards, mouse + Drivers for output devices such as screens, sound, printers + File system management on disks/flash memory

What is an embedded operating system


+ Runs on small inexpensive microprocessors + Runs in memory restricted environments even without MMU + Often no hard drive or disk drive uses flash based disk + Can run without any screen output or keyboard/mouse input
4

Author: D L Johnson

uClinux day 1 of 5 Why uclinux

What embedded operating systems are available


+ Vxworks $$ - pathfinder on Mars (RTOS) + Nucleus $$ + QNX $$ (POSIX, RTOS) + DOS $$ + How grown operating systems + Redhat ecos (POSIX, uITRON) + uClinux

Author: D L Johnson

uClinux day 1 of 5 Why uclinux

Author: D L Johnson

uClinux day 1 of 5 Why uclinux

Until recently developers of small embedded systems based on microprocessors lacking MMU could not take advantage of Linux uCliknux was started by Arcturus networks in 1997 Implements Linux on MMU-less processors Publicly released back into open source as alternative OS for the Palm Pilot in February 1998 Ported to ARM, MIPS, SPARC, Hitachi SH, Motorolla coldfire Mature, robust operating system Supports large number of devices, filesystems and network protocols Large open source community adding features
7

Author: D L Johnson

uClinux day 1 of 5 Why uclinux

Large number of applications exist for Linux which require little or no proting Vert low cost no royalties uClinux may well represent the world's first, most mature, and most commercially successful embedded Linux distribution

Author: D L Johnson

uClinux day 1 of 5 Why uclinux

Devices that use uClinux

Author: D L Johnson

uClinux day 1 of 5 uClinux environment

Kernel

uClibc

Userland

Cross compiler and linker

Image.bin

Author: D L Johnson

10

uClinux day 1 of 5 uClinux environment

Author: D L Johnson

11

uClinux day 1 of 5 uClinux environment


Configure scripts e.g. menuconfig and xconfig Documentation on e.g. adding platform and user apps Glibc source code Binary images of uclinux ready to load onto hardware uC-libc source code Linux-2.0.x kernel source code Linux-2.4.x kernel source code Contains all architecture settings such as memory layouts Driver source code for all peripherals

Romfs contains directory structure of uClinux uClibc source code

Userland contains all user applications


Author: D L Johnson

12

You might also like