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.
Testimonials (2)
Sean was a dynamic speaker and the hands-on exercises were very interesting and I can see how they will be really applicable.
Temira Koenig - Yeshiva University
Course - Raspberry Pi for Beginners
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.