Course Outline
Embedded C Programming
- Overview of C Programming Fundamentals
- Memory Allocation
- Interrupts
- Multitasking and Multithreading
- Synchronization and Inter-task Communication
- Peripheral Communication
- Compilers
### Real-time Linux, RTOS, and Embedded Linux
- Introduction to Linux - Architecture, files, directories - POSIX - Multithreading and tasks - Toolchain, Bootloader, Kernel, rootfs - Starting with Raspbian, then explaining how to build a dedicated (and smaller image) using Buildroot or Yocto - PREEMPT_RT, Xenomai - RTEMS - Cross-compilation, shared libraries - Networking
### Developing Embedded Linux Drivers
- Kernel, modules - Device characteristics - USB, GPIO, I2C, SPI, Network, Block devices ### Hardware Interfacing
- Serial, SPI, I2C - TCP/IP, UDP - Zigbee, Wi-Fi - ADC, Arduino
- Display - GSM modem - Network ### Embedded C++, Qt
### Robust and Fail-Safe Embedded Software
- Effective and Efficient Programming - Debugging and Troubleshooting - Inspection and Analysis - Defensive and Self-test Code - Watchdog
### ARM Technology and Programming
Testimonials (1)
Being able to ask for advanced subjects even if there were not planned initially.