Professional Documents
Culture Documents
C1 Embedded Systems
C1 Embedded Systems
C1 Embedded Systems
Fast and Effective Embedded Systems Design: Applying the ARM mbed
In English, by Rob Toulson and Tim
Wilmshurst
Published by Newnes
ISBN: 978-0-08-097768-3
ISBN-10: 1466468866
ISBN-13: 978-1466468863
In English
Published by Micrium
by Joseph Yiu
Published by Newnes
ISBN-10: 0750685344
ISBN-13: 978-0750685344
The Definitive Guide to the ARM Cortex-M0
by Joseph Yiu
Published by Newnes
ISBN-10: 0123854776
ISBN-978-0123854773
by Wayne Wolf
Published by Morgan Kaufmann
ISBN: 1-5586-0541-X
by J.R. Gibson
Published by Lulu.com
ISBN: 978-1-84753-696-9
by Warwick A. Smith
Published by Elektor
ISBN: 978-0-905705-80-4
The ARM University Program recommends the following development boards for
teaching Embedded Systems/MCUs:
mbed.org
mbed Starter Kit:
http://skpang.co.uk/catalog/mbed-lpc1768-starter-kit-b-p-717.html
mbed Application Board:
https://www.sparkfun.com/products/11695
mbed Breakout Board
The STM32 Value line Discovery is the cheapest and quickest way to discover the
STM32. It includes everything required for beginners and experienced users to get
started quickly. The STM32 Value line Discovery includes an STM32F100 Value line
microcontroller in a 64-pin LQFP package and an in-circuit ST-Link
debugger/programmer to debug Discovery applications and other target applications. A
large number of free, ready-to-run application firmware examples are available
on www.st.com/stm32-discovery to support quick evaluation and development using the
LEDs, button and extension header to connect to other boards or devices.
The NuMicro™ NUC100 Series are 32-bit microcontrollers with embedded ARM®
Cortex™-M0 cores for teaching embedded systems. The Cortex™-M0 provides 32-bit
performance and at a cost equivalent to traditional 8-bit microcontroller. NuMicro™
NUC100 Series includes NUC100, NUC120, NUC130 and NUC140 product line.
The NuMicro™ NUC140 Connectivity Line with USB 2.0 full-speed and CAN
functions embeds a Cortex™-M0 core running up to 50 MHz with 32K/64K/128K-byte
embedded flash, 4K/8K/16K-byte embedded SRAM, and 4K-byte loader ROM for the
ISP. It also equips plenty of peripheral devices, such as Timers, Watchdog Timer, RTC,
PDMA, UART, SPI, I²C, I²S, PWM Timer, GPIO, LIN, CAN, PS/2, USB 2.0 FS
Device, 12-bit ADC, Analog Comparator, Low Voltage Reset Controller and Brown-out
Detector.
1.0 Introduction
An embedded system is some combination of computer hardware and software, either fixed
in capability or programmable, that is specifically designed for a particular function.
Industrial machines, automobiles, medical equipment, cameras, household appliances,
airplanes, vending machines and toys (as well as the more obvious cellular phone and PDA)
are among the myriad possible hosts of an embedded system. Embedded systems that are
programmable are provided with programming interfaces, and embedded systems
programming is a specialized occupation.
Certain operating systems or language platforms are tailored for the embedded market, such
as Embedded Java and Windows XP Embedded. However, some low-end consumer
products use very inexpensive microprocessors and limited storage, with the application and
operating system both part of a single program. The program is written permanently into the
system's memory in this case, rather than being loaded into RAM(random access memory)
like programs on a personal computer.
1.0.1 Impact
We believe effective education requires students to learn by doing. In the traditional
academic setting this active learning is delivered in a lab format. A number of important
factors have combined that allow a lab class like this to be taught at this time. First, the
massive growth of embedded microcontrollers has made the availability of lost-cost
development platforms feasible. Second, your instructors have the passion, patience, and
experience of delivering quality lab experiences to large classes. Third, on-line tools now
exist that allow students to interact and support each other.
The overall educational objective of this class is to allow students to discover how the
computer interacts with its environment. It will provide hands-on experiences of how an
embedded system could be used to solve problems. The focus of this introductory course
will be understanding and analysis rather than design. It takes an effective approach to
learning new techniques by doing them. We feel we have solved the dilemma in learning a
laboratory-based topic like embedded systems where there is a tremendous volume of
details that first must be learned before hardware and software systems can be designed.
The best way to understand what you will learn in this class is to list the labs you will
complete and the example projects we will build. You will complete each lab first in
simulation and then on the real board. For each module we will design a system and you
will build and test a similar system as part of the lab for that module.
1.3 Syllabus
Following is the liast of all modules, the corresponding examples we will build in each and
the relevant lab you will complete. Some of the modules do not have examples or labs.
Module 1: Welcome and Introduction to course and staff
Your Lab 1. Install the Keil IDE and drivers for programming the labs