Mobile and Embedded Devices Secure Embedded Systemscduffy/MeDSeS/l1.pdf · Embedded System -...

Preview:

Citation preview

Mobile and Embedded Devices

Secure Embedded Systems

Introduction to the course

About me

Craig Duffy Room 2Q17 Best to email

craig.duffy@uwe.ac.uk

I specialise in embedded and mobile systems, mainly Linux based

Embedded Systems/Devices - aims

• This course aims to introduce you to mobile and embedded systems

• What are mobile/embedded systems?– Smaller systems

– Low power

– Portable

– Part of large system

– Real-time features

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

Lectures/Practicals/Labs• In the lectures we will look at cross

development, arm architecture, writing low level C and Assembler, technologies like JTAG, SD Cards, Ethernet and Flash memory.

• In the practicals will focus on programming the Olimex boards, developing stand alone programs to use its resources and the various tools that embedded engineers use.

• Eventually we will port FreeRTOS onto the board and write some applications.

Lecture list

• Cross development techniques– Using a cross development environment– Extra tools for software development

• Using C and assembler language– Linking issues– Booting systems

• arm Architecture, CORTEX M series– RISC

• Writing low level devices– Embedded OS, real-time executive and monitors

• Embedded and mobile technologies– JTAG, Ethernet, Flash memory, SD cards

The Olimex board #1

The Olimex boards are based on the STMicroelectronics arm STM32F1 processor– ST version of arm core– 72MHz CPU– Memory protection register– 256 KB Flash, 64 KB RAM– USB interfaces– Ethernet

Olimex STM32-P107 Board

The Olimex board #2

• The board was developed for prototyping

• Has 3 serial interfaces connected - RS232, JTAG & UEXT • 10/100Mbit Ethernet • USB Host USB OTG• Switches and LEDs• CAN Network• SPI/I2C/I2S buses• Mini SD/MMC card connector• JTAG interface• Prototyping area• 16/32 instructions – Thumb machine

The arm CPU

• We will explore arm’s CPUs and look at low powered and RISC CPUs through the arm Cortex M3.

• We will also look at the types of boards and interfaces and the software that can run on them.

• We will look at some simple arm assembly language programming but most of our work will be in C.

Development environment

• We will be using a Code Sourcery GNU cross compiler kit

• The version of gcc is 4.5.2• We will also use binutils, gdb• Plus various other utilities

– Openocd - an open source jtag programmer suite

– telnet – to connect to openocd– eclipse – an open source IDE

Lab organisation

• The first few weeks will be small scale programming of the boards

• We will look at using the ST Micro standard library

• We will program the various peripherals on the board

• You will be guided in porting FreeRTOS onto the board and you will develop an app for it.

Literature and information sources

• Some books– The Definitive Guide to the ARM®

Cortex-M3 – Joseph Yiu – 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

• Web sites– ARM UK, freertos, GNU, Newlib,

– IBM developerworks

– ST micro web site

– Kernel newbies

– The Linux Documentation Project (LDP)

Recommended