The course uses ARM7, ARM9, and ARM11 processors as a Course Objectives
platform for hands-on work. However, the techniques taught
Students completing this course will considerably improve the
can be readily applied to other architectures. Similarly, the
discipline and rigor with which they design and write embedded
course uses VxWorks and Linux as operating systems, but Inter-
systems applications in C.
Process Communication techniques are covered in a generic
way so that they can be applied to other architectures and You'll be able to implement classical data structures such as
operating systems. circular buffers, linked lists, and trees -- and you'll know when
it's appropriate to use them.
Course is completely hands on implementation oriented in
state of art lab facility Participants will be able access VxWorks You'll be exposed to a variety of advanced programming idioms
licensed full featured lab and advanced hardware lab facility and algorithms with their associated data structures, for tasks
with wide array of Microcontroller based Single board such as indexing, data compression and error detection. You'll
computer. learn to write event driven programs, to implement Finite State
Machines, and to design hierarchical state machines using state
charts.
Course ends with implementation of Proof of concept projects,
You'll learn structured programming techniques for
adopting every single skill adopted by trainee. Most of the
implementing multi-tasking applications, and you'll be able to
Proof concept projects are developed based on new generation
work with embedded operating systems as well as the standard
microcontrollers like ARM platform. Ei labz being ARM
inter-process communication idioms such as producer-
consumer, work crew and monitors.
After the end of this Course, participants will be able to do the
following: Outline:
Debug build, and test real-time application in a target Module1 Embedded C And Microcontroller programming
host development environment with various
Session 1 Embedded C
platforms like Embedded Linux , VxWorks and Qt
Cross compilers
microvision complier
Employable in various disciplines of embedded
Keywords
application development and participate ei labz Why use C?
placement programs
Session 2 The 8051 microcontroller
Course Format The “super loop” software architecture
Strengths and weaknesses of “super loops”
This four months instructor-led course consists of Example: Central-heating controller
lectures and lab sessions. Reading from (and writing to) port pins
Students gain hands-on experience and receive Session 3 SFRs and ports
personal guidance from expert ei labz instructors. SFRs and ports
Creating and using sbit variables
Case studies and assignments allow hands-on Example: Reading and writing bytes
application of course concepts.
Session 4 Creating “software delays”
Using the performance analyzer to test software delays
Specific questions are addressed.
Strengths and weaknesses of software-only delays
Q&A,
assessment test
Key Topics
Session 5 Oscillator Hardware
How to connect a crystal to a microcontroller
Advanced use of dynamic data structures and algorithms Oscillator frequency and machine cycle period
for manipulating them Keep the clock frequency as low as possible
MCS51, ARM 7, ARM9 and ARM11
Implementation of simple schedulers and operating Session 6 Stability issues
systems Improving the stability of a crystal oscillator
Overall strengths and weaknesses
Working with embedded operating systems
Reset Hardware
Understanding standard techniques for VxWorks and More robust reset circuits
Embedded Linux
Embedded communication Protocols like I2C, SPI, CAN, Session 7 Review: Basic techniques for reading from port pins
Flex ray etc. Example: Reading and writing bytes (review)
Finite state machines, statecharts, and their uses Example: Reading and writing bits (simple version)
Example: Reading and writing bits (generic version)
Advanced algorithms and research-oriented approaches
Session 8 The need for pull-up resistors
Prerequisites Dealing with switch bounce
Example: Reading switch inputs (basic code)
Attendees should have BE, BTec, MSc, Diploma or BSc relevant Q&A
programming /electronics concepts covered in academics. assessment test
Session 37 I/O and file systems Session 52 LPC 2129 interrupt controller
Device drivers in VxWorks VIC
character device driver
Session 53 working with Watch dog timers
Session 38 Block device driver interfacing LCD display to microcontroller
Session 39 Case Study: UART device Driver Session 54 ARM 7 to ARM 9 migration
ARM 9 SOC S3C2440
Session 40 Case Study: RAM Disk Driver Q&A
Q&A assessment test
assessment test
Session 55 ARM 9 SOC S3C2440 GPIO programming
S3C2440 timer programming
Module3 ARM 7 and 9 Architecture and SOC implementing home automation with
Session 56
S3C2440 (case study
Session 41
Introduction to ARM architecture Session 57 S3C2440 OS porting
RISC vs CISC
ARM core v4, v5 Session 58 Case Study: uCOS
ARM 7 modes of operation user, IRQ, FIQ, Supervisor, Q&A
undef, abort, system assessment test
Session 46 ARM SOC (LPC 2129 controller) Session 62 SPI communication, 1 wire protocol
ARM SOC Programming Q&A
mixing assembly and C assessment test