1 / 16

Embedded Systems Programming

Introduction to the course. Embedded Systems Programming. Embedded System - aims. This course aims to introduce you to embedded systems programming What are embedded systems? Small systems Low power Portable Part of large system Real-time features. Embedded System - features.

morey
Download Presentation

Embedded Systems Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to the course Embedded Systems Programming

  2. Embedded System - aims • This course aims to introduce you to embedded systems programming • What are embedded systems? • Small systems • Low power • Portable • Part of large system • Real-time features

  3. Embedded System - features • Embedded software has different characteristics than more mainstream software • Speed, size, interface, • Embedded software development is very different from ‘normal’ software development • Use of tools, system initialisation, interaction with systems, debugging

  4. ESP practicals • In the first set of lectures and practical we will look at cross development, ARM architecture, and linking C and Assembler. • In the second term we will focus on porting Linux onto the Puppeteer boards, building the kernel, root file system and applications, as well as porting the Ethernet driver. We may port an application to run on the board.

  5. Lecture list • Cross development techniques • Using a cross development environment • Extra tools for software development • Using C and assembler language • Linking issues • ARM and the SA1110 • RISC • The Puppeteer board • Serial port programming • Porting the Linux kernel • Embedded OS, real-time executive and monitors

  6. 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

  7. 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 codec – Toshiba TS35143 • Ethernet support SMCS LAN91C96 • 8 Mb of boot block flash • 32 Mb of DRAM • Altera 6k FPGA • Xilinx CPLD • Small EEPROM • I2C support • JTAG interface

  8. The ARM CPU • We will explore ARM's CPU and look at low powered and RISC CPU through the StrongARM. • We will also look at the types of boards and interfaces and the software that can run on them. • We will do some simple ARM assembly language programming.

  9. The Linux kernel • The kernel we will be porting will be a standard 2.4.18 with the ARM patches • We will need to port to the specifics of the board • Initialisation code need porting • Some of the serial port code will need modifying • The Ethernet chip needs porting • MTD (flash) system need configuring

  10. The Linux system • Although we will examine various distributions we will create our own Linux system using • uClibc • Busybox • Tinylogin • Netkit • NFS • GDB version 6 • MTD support and tools

  11. Development environment • We will be using a GNU cross compiler kit • The version of gcc is 2.95.3 • We will also use binutils • Plus various conversion and download utilities • elf2bin – to convert elf binaries to MSbin format • eloadsvr – to download images to the Puppeteer board

  12. Lab organisation • The first few weeks will be small scale programming of the boards • When we start to install Linux the labs will be broken into groups • Each group will have user space on kenny to keep their kernel and Linux systems • You must learn to save space! • You will be guided into porting the kernel onto a board

  13. Literature and information sources • Some books • 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

  14. Useful web sites • My homes pages • cems.uwe.ac.uk/~cduffy, kenny.netlabs.cems.uwe.ac.uk/~cduffy • Web sites • ARM UK, armlinux, GNU, uClibc, • IBM developerworks • Linux Journal • Kernel newbies • Linux from scratch • The Linux Documentation Project (LDP)

More Related