1 / 12

Embedded Systems Programming

Embedded Systems Programming. Introduction to the course. 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.

season
Télécharger la présentation

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. Embedded Systems Programming Introduction to the course

  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, interaction with systems, debugging

  4. ESP 1st term • 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.

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

  6. The Puppeteer board #1 • The Puppeteer boards are based on the StrongArm SA1110 processor • Intel version of ARM core • 200MHz CPU • MMU support • 4 Serial interfaces • PCMCIA interface

  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 • Sound interface • 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 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

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

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

  11. 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 will be guided into porting the kernel onto a board

  12. Literature and information sources • Some books • Building Embedded Linux Systems – K Yaghmour • Embedded Linux – C Hollabaugh • Arm System Developer’s Guide – Sloss, Symes & Wright • ARM Architecture Reference Manual – D Seal • Web sites • ARM UK, armlinux, GNU, uClibc,

More Related