Embedded Programming

Target participants

This training is suitable for

  • Software engineers looking to extend their low level programming skills for embedded systems.
  • Embedded software engineers eager to strengthen their knowledge on embedded programming.
  • Non-embedded software developers eager to learn and step into embedded systems programming.
  • Students, technology enthusiasts getting a kick start in embedded platforms

Duration

The training is designed to cover all topics in 40 hours. Custom designed training sessions requested by companies might have a different duration depending on the agreed content.

Number of participants

Recommended number of participants: max. 15, to encourage an interactive approach and focus on participant’s needs

Standard content

Training sessions requested by companies can be adjusted according to the needs of the participants and relevance for the products being developed.

  • Introduction to microcontrollers and use for embedded systems
  • Cross-compilers
  • Setting up an development toolchain
  • Debug mechanisms
  • Suitable embedded programming languages – Assembly and C
  • C Programming language crash-course
  • Memory access – pointer arithmetics
  • Memory mapped / IO mapped registers
  • Data structures for memory access
  • Software layered architecture – Bootloader, Driver, Middleware, Application
  • Bootloaders – mechanisms
  • Over-the-air software updates (OTA)
  • Managing core units and peripherals
    • Clock configuration
    • Power management, power modes
    • Interrupts handling
    • Boot modes
    • Direct memory access (DMA)
    • Analog to digital converters (ADC)
    • Digital to analog converters (DAC)
    • General & specific timers/counters
    • PWM generation units
    • Watchdog management
    • Communication interfaces: I2C, SPI, CAN
    • CRC unit
    • General purpose input/output pins
  • Building a basic scheduler
  • Introduction to RTOS – FreeRTOS
  • Basics of version management using GIT

Notes

  • For better understanding of the concepts and functionality of specific microcontroller peripheral units, software examples will be used as well as live signal generation/captures.
  • All theoretical concepts will be exemplified with specific SW implementation examples

Scroll to Top