Course Outline

Development of C language standards: C90, C99, C11/C17, C2x – new features. Source and header files. Basic data types and their usage. Storage classes and attributes: const, volatile, static, restricted, inline and others. Preprocessor usage guidelines; macros vs. inline functions. Coding style. Features related to embedded programming. Program sections and memory
usage.

Programming techniques: avoiding unnecessary conversions, limiting ranges and scopes. Introduction to ARM Cortex-M line cores. STM32 microcontroller family overview. Overview of the hardware used in exercises.

Exercises:
1. Understanding the firmware structure, use of types and attributes. Common problems and mistakes related to GPIO programming.
2. Const attribute and character strings, UART programming
3. ADC and multiplexed LED display – using fixed point arithmetics and state machines. Hardware display refresh via DMA.
4. Attendee’s choice: crossplexing display, software-triggered interrupts or routing C stdout stream to a physical interface.

  7 Hours
 

Testimonials (3)

Related Courses

Using C++ in Embedded Systems - Applying C++11/C++14

  21 Hours

Related Categories