Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Systems Programming Introduction to the course.

Similar presentations


Presentation on theme: "Embedded Systems Programming Introduction to the course."— 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, 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

8

9 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 I 2 C support JTAG interface

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

11 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

12 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

13 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

14 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

15 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

16 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)


Download ppt "Embedded Systems Programming Introduction to the course."

Similar presentations


Ads by Google