1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why...

12
1 uClinux course uClinux course

Transcript of 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why...

Page 1: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

1

uClinux courseuClinux courseuClinux courseuClinux course

Page 2: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

2Author: D L Johnson

OverviewOverview Day 1Day 1

+ Survey of embedded operating systems - why uclinux?+ The uclinux environment - the directory structure

Day 2Day 2+ Using the configuration tools for the kernel and user applications+ Adding user application to uClinux

Day 3Day 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 4Day 4

+ To "Boot loader" or not to "Boot loader"+ Hardware access and device drivers

Day 5Day 5+ Debugging applicatgions with gdb+ Downloading applications to the development kit using JTAG + Running bluetooth stacks on uclinux

Page 3: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

3

uClinux courseuClinux courseuClinux courseuClinux course

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

Page 4: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

4Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

Why use an operating systemWhy 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 systemWhat 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

Page 5: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

5Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

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

Page 6: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

6Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

Page 7: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

7Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

Until recently developers of small embedded systems Until recently developers of small embedded systems based on microprocessors lacking MMU could not take based on microprocessors lacking MMU could not take advantage of Linuxadvantage of Linux

uCliknux was started by Arcturus networks in 1997uCliknux was started by Arcturus networks in 1997 Implements Linux on MMU-less processorsImplements Linux on MMU-less processors Publicly released back into open source as alternative OS Publicly released back into open source as alternative OS

for the Palm Pilot in February 1998for the Palm Pilot in February 1998 Ported to ARM, MIPS, SPARC, Hitachi SH, Motorolla Ported to ARM, MIPS, SPARC, Hitachi SH, Motorolla

coldfirecoldfire Mature, robust operating systemMature, robust operating system Supports large number of devices, filesystems and Supports large number of devices, filesystems and

network protocolsnetwork protocols Large open source community adding featuresLarge open source community adding features

Page 8: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

8Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

Large number of applications exist for Linux which Large number of applications exist for Linux which require little or no protingrequire little or no proting

Vert low cost – no royaltiesVert low cost – no royalties uClinux may well represent the world's first, most mature, uClinux may well represent the world's first, most mature,

and most commercially successful embedded Linux and most commercially successful embedded Linux distributiondistribution

Page 9: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

9Author: D L Johnson

uClinux day 1 of 5 Why uclinuxuClinux day 1 of 5 Why uclinux

Devices that use uClinuxDevices that use uClinux

Page 10: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

10Author: D L Johnson

uClinux day 1 of 5 uClinux environmentuClinux day 1 of 5 uClinux environment

KernelKernel UserlandUserlanduClibcuClibc

Cross compiler and linkerCross compiler and linker

Image.binImage.bin

Page 11: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

11Author: D L Johnson

uClinux day 1 of 5 uClinux environmentuClinux day 1 of 5 uClinux environment

Page 12: 1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.

12Author: D L Johnson

uClinux day 1 of 5 uClinux environmentuClinux day 1 of 5 uClinux environmentConfigure scripts e.g. menuconfig and xconfigConfigure scripts e.g. menuconfig and xconfig

Glibc source codeGlibc source code

Binary images of uclinux ready to load onto hardwareBinary images of uclinux ready to load onto hardware

uC-libc source codeuC-libc source code

Linux-2.4.x kernel source codeLinux-2.4.x kernel source code

Linux-2.0.x kernel source codeLinux-2.0.x kernel source code

Documentation on e.g. adding platform and user appsDocumentation on e.g. adding platform and user apps

uClibc source codeuClibc source code

Userland contains all user applicationsUserland contains all user applications

Romfs contains directory structure of uClinux Romfs contains directory structure of uClinux

Contains all architecture settings such as memory layoutsContains all architecture settings such as memory layouts

Driver source code for all peripheralsDriver source code for all peripherals