|
Small Micro Controller Embedded Systems Programming Curriculum
These courses are scheduled on demand.
|
|
Click on the links below for HTML versions of the full course outllines
| Crs
| Title
| Days
| Outline
|
| SMC101 |
Introduction to Assembly Language Programming |
5 |
HTML
|
| SMC102 |
Intermediate to Advanced Assembly Language Programming |
5 |
HTML
|
| SMC103 |
Introduction to C Programming for Embedded Systems |
5 |
HTML
|
| SMC104 |
Advanced C Programming for Embedded Systems |
5 |
HTML
|
Meeting the need for Specialist Training
The use of real-time software running in embedded devices is becoming
more and more pervasive in our society. However, the number of
experienced engineers in this area is limited, and there is substantial
demand for suitably trained staff. FTT specialises in real-time and
embedded systems and has provided training to organisations from all
over the world, including companies such as NEC, Motorola, Marconi,
Ericsson and Nortel. Courses are taught either on-site or at our offices
in Carshalton, and class sizes are always kept small.
Written and taught by instructors who have practical real time and
embedded systems programming experience, our Small Microcontroller
Embedded Systems Programming Courses are oriented towards 8 bit and 16
bit Microcontrollers. You download and run your programs on real
microcontrollers, to interact with real hardware in real time. Hands-on
work is carried out using PC-based cross development tools and target
hardware based on Microchip PIC 16, PIC 18 and PIC 24 Microcontrollers.
However, the core concepts are generic and can be readily applied to
other 8 and 16 bit processor architectures.
These courses can, and have been tailored for other processor architectures such as 8051 and C167 processors, Atmel 8 bit processors such as the Atmel AVR and Atmel 8051 based
microcontrollers, as well as 8 bit and 16 bit Hitachi and Mitsubishi (Renesas) microcontrollers.
Courses have also been tailored for Silicon labs products based on the 8051 core processor architecture.
Course summaries
SMC101: Introduction to Assembly Language Programming (5 days)
The course discusses basic 8-bit and 16-bit microcontroller
architectures and their instruction sets. You'll learn assembly language
programming techniques using variables, arrays and data structures,
together with the basic structured programming techniques of sequence,
choice and iteration and how they can be realised in assembly language.
SMC102: Intermediate to Advanced Assembly Language Programming (5 days)
The course teaches techniques needed to develop substantial assembly
language programs (as found, for example, in operating system kernel
code, metering and measuring equipment, smart sensor systems, motor and
engine controllers, byte code interpreters, device drivers and interrupt
handlers). You'll learn how to use linkers, employ macro programming
techniques, realise state machine and statechart designs in assembler,
implement circular buffers, and create data structures in assembler. In
addition you'll learn how to program various on-chip peripherals such as
USARTS and A/D converters.
SMC103: Introduction to C Programming for Embedded Systems (5days)
The course discusses C programming in the context of implementing C
applications for 8 bit and 16 bit micro-controllers. As well as learning
standard ANSI C, you'll learn how to use pragmas and extensions found
with embedded C compilers targeted at specific microcontrollers.
Techniques for mixed C and Assembler programming are also covered.
SMC104: Advanced C Programming for Embedded Systems (5days)
In this course you'll learn advanced programming techniques using
dynamic data structures and algorithms. Finite state machines and
statecharts and their uses are covered in depth. You'll also learn
techniques specific to embedded systems, such as structured interrupt
handling, implementation of simple schedulers, and how to work with
embedded operating systems. You'll learn the standard inter-process
communication mechanisms and their uses. In addition the course
overviews various advanced algorithms and discusses research oriented
approaches for learning more about these algorithms and their
implementation. Last but not least, the course will show you how to
design modules with clean interfaces to achieve disciplined and well
structured code.
|