160 likes | 339 Views
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
E N D
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
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
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
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
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
uClinux day 1 of 5 Why uclinux Devices that use uClinux
Kernel Userland Cross compiler and linker uClibc uClinux day 1 of 5 uClinux environment Image.bin
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