120 likes | 256 Views
Embedded Real time System Design. Introduction to the course. ERTSD course - Overview. Course is taught by Rob Williams & Craig Duffy Craig will teach the lectures the start of term 1 & 2. Rob will teach the second part
E N D
Embedded Real time System Design Introduction to the course
ERTSD course - Overview • Course is taught by Rob Williams & Craig Duffy • Craig will teach the lectures the start of term 1 & 2. Rob will teach the second part • There is 1 large assignment with a phased hand-in –Christmas and Easter. • Practical sessions taught by Rob & Craig
ERTSD Craig’s 1st part • In the first set of lectures and practical sessions I will be covering cross developing code and operating systems onto a single board computer. • The practical sessions will involve small groups of students installing Linux onto the target hardware. The Puppeteer will be a central part of the system developed as part of the assignment.
Lecture list Craig’s part • Selecting a language and operating system for embedded systems • The SA1110 and Puppeteer boards • Selecting an cross compiler and OS for embedded systems • Using Linux as an embedded OS • Porting the Linux kernel
The Puppeteer board #1 • The Puppeteer boards are based on the StrongArm SA1110 processor • Intel version of ARM core • 200MHz CPU • MMU support • 2 Serial interfaces • PCMCIA interface • Ethernet
The Puppeteer board #2 • The board was originally developed for cable set top boxes, but has a large number of potential usages • Has 2 serial interfaces - + irda • Audio support – TS35143 codec • Ethernet support SMCS LAN91C96 • 8 Mb of boot block flash • 32 Mb of DRAM • Altera 6k FPGA • Xilinx CPLD • Small EEPROM • I2C support
The Linux kernel • The kernel we will be porting will be a standard 2.6.16 – you can upgrade! • We will need to port to the specifics of the board • Some of the serial port code will need modifying • The 2.6 kernel has problems with the 2nd serial port! • The Ethernet chip needs porting • This requires understanding the new device driver model • NFS is really useful for development purposes • The MTD system needs porting/configuring
The Linux system • Although we will examine various distributions we will create our own Linux system using • uClibc • Busybox • Netkit • Very useful for the tcp/ip and NFS tools • NFS • GDB version 6 • I have a (almost) beta version of kgdb for 2.6!
Development environment • We will be using buildroot kit from codepoet • Use any gcc > 3.1 – load in the 2.6 headers too. • Buildroot provides a pre-built file system plus loads of utilities – even some audio ones! • We will still have to use the conversion and download utilities • elf2bin – to convert elf binaries to MSbin format • eloadsvr – to download images to the Puppeteer board
Literature and information sources • Some books • Real-time Systems Development – R Williams • Building Embedded Linux Systems – K Yaghmour • Embedded Linux – C Hollabaugh • Embedded Linux Primer – C Hallinhan • Arm System Developer’s Guide – Sloss, Symes & Wright • ARM Architecture Reference Manual – D Seal
Useful web sites • My homes pages • cems.uwe.ac.uk/~cduffy, kenny.netlabs.cems.uwe.ac.uk/~cduffy • Loads of datasheets on the kenny page • Web sites • ARM UK, armlinux, GNU, uClibc, • IBM developerworks • Linux Journal • Kernel newbies • Linux from scratch • The Linux Documentation Project (LDP)