Advanced Microcontroller Programming

In the rapidly expanding embedded software market there is currently a shortage of qualified and skilled engineers. The microcontroller programming skills typically taught at universities do not always meet the demands from industry.


This training class focuses on closing this gap. It builds on the basic microcontroller programming skills that most entry-level engineers have and aims to bring the skills and knowledge of the participants to a level that all engineers working on a real-world product should minimally have.

 

Target audience

This class is architected for embedded software industry professionals with a desire to improve their microcontroller programming knowledge and skills. It specifically targets industry professionals or bachelor degree students in the fields of: mechanical engineering, electrical engineering, computer engineering and automotive engineering.

 

Goals

After completing this training class, the participants are able to:

  • Locate and resolve software problems using a source-level debugger.
  • Describe each of the three modules commonly found in the architecture of an embedded software program.
  • Explain what a vector table is and use microcontroller peripherals in interrupt driven mode.
  • Recognize 3 different types of operating systems typically found in embedded software programs and implement a fore-/background operating system.
  • Explain the functionality of ring buffers and implement FIFO data buffering.
  • Develop a reusable and portable RS232 communication driver.
  • Describe two methods for ensuring data consistency, including how these methods affect interrupt latency.
  • Develop a reusable and portable CAN communication driver.
  • Develop a CAN/RS232 bi-directional and buffered gateway.
  • Obtain and evaluate run-time statistics, including stack usage and CPU load.
  • Implement run-time monitoring using a watchdog.
  • Perform fixed point math in a software program.

 

Prerequisites

The prerequisites to this class are: high school level math skills and a basic understanding of microcontroller programming in the C programming language.

 

Organization and planning

Depending on the customer’s preference, the class can be taught in 3 full days or 6 half days. The teaching location can be in-house or off-site, preferably in a European country. Instruction language can be either English, German or Dutch. All class materials are in English. The minimum group size is 2 participants and the maximum is 12. During the class sessions, the participants work in teams of 2 on the class project. Supporting theory is supplied in a just-in-time manner.

 

Study load

The class consists of 6 group meetings with a length of approximately 3 hours each. This brings the total study load to 18 hours.

 

Class materials

During the first class session, all students receive a complementary copy of the class textbook and a CD with all the necessary development tools. Additionally, each team of 2 participants receives a EKI-LM3S8962 Luminary Micro evaluation system. The class exercises are formed around this ARM Cortex-M3 based system. Participants are expected to bring a laptop computer running Windows 98, NT, 2000, ME, XP or Vista equipped with 1 USB port and a CD drive. Installation rights are required to install the software development tools. One laptop computer per team of 2 participants is sufficient.

 

Evaluation

Upon successful completion of the class project, participants receive a Feaser Certificate of Achievement.

 

Contact

For additional information, including class scheduling and pricing information, feel free to contact us.

 

Navigation


Lastest News

OpenBLT v0.93.00 released Posted at 12/17/11 - 06:36 AM

Version 0.93.00 is available for download. In now supports programming over USB and includes a new demo for the Olimex STM32H103 board. Additionally, support for the IAR EWARM compiler was added.

 

OpenBLT is an open source bootloader tool for microcontroller targets, developed and maintained by Feaser. Visit www.feaser.com/openblt for more information.

Author: Webmaster

Announcements

No announcements at this point.