Post on 02-Mar-2016
description
7/18/2019 Uclinux Course Day 1
1/12
1
uClinux course
7/18/2019 Uclinux Course Day 1
2/12
Author: D L Johnson
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
7/18/2019 Uclinux Course Day 1
3/12
3
uClinux course
Day 1 of 5
Survey of embedded operating systems why uclinux?
7/18/2019 Uclinux Course Day 1
4/12
Author: D L Johnson
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
7/18/2019 Uclinux Course Day 1
5/12Author: 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
7/18/2019 Uclinux Course Day 1
6/12Author: D L Johnson
uClinux day 1 of 5 Why uclinux
7/18/2019 Uclinux Course Day 1
7/12Author: 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 andnetwork protocols
Large open source community adding features
7/18/2019 Uclinux Course Day 1
8/12Author: 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
7/18/2019 Uclinux Course Day 1
9/12Author: D L Johnson
uClinux day 1 of 5 Why uclinux
Devices that use uClinux
7/18/2019 Uclinux Course Day 1
10/121Author: D L Johnson
uClinux day 1 of 5 uClinux environment
Kernel UserlanduClibc
Cross compiler and linker
Image.bin
li d f li i
7/18/2019 Uclinux Course Day 1
11/12
1Author: D L Johnson
uClinux day 1 of 5 uClinux environment
Cli d 1 f 5 Cli i t
7/18/2019 Uclinux Course Day 1
12/12
1Author: D L Johnson
uClinux day 1 of 5 uClinux environment
Configure scripts e.g. menuconfig and xconfig
Glibc source code
Binary images of uclinux ready to load onto hardware
uC-libc source code
Linux-2.4.x kernel source code
Linux-2.0.x kernel source code
Documentation on e.g. adding platform and user apps
uClibc source code
Userland contains all user applications
Romfs contains directory structure of uClinux
Contains all architecture settings such as memory layouts
Driver source code for all peripherals