Course Outline
Embedded C Programming
- Fundamentals of C Programming
- Memory Allocation
- Interrupt Handling
- Multitasking and Multithreading
- Synchronization and Inter-task Communication
- Peripheral Communication
- Compilers
### Real-time Linux, RTOS, and Embedded Linux
- Introduction to Linux: Architecture, files, and directories - POSIX compliance - Multithreading and task management - Toolchains, Bootloaders, Kernel, and rootfs - Starting with Raspbian and understanding the build process - Creating dedicated and optimized images using Buildroot or Yocto - PREEMPT_RT, Xenomai - RTEMS - Cross-compilation and shared libraries - Networking
### Developing Embedded Linux Drivers
- Kernel and modules - Device characteristics - USB, GPIO, I2C, SPI, Network, and Block devices ### Hardware Interfacing
- Serial, SPI, I2C communication - TCP/IP, UDP protocols - Zigbee, Wi-Fi - ADC, Arduino interfaces - Display systems - GSM modems - Networking
### Embedded C++ and Qt
### Robust and Fail-safe Embedded Software
- Effective and efficient programming practices - Debugging and troubleshooting techniques - Inspection and analysis - Defensive coding and self-test routines - Watchdog timers
### ARM Technology and Programming
Testimonials (1)
Being able to ask for advanced subjects even if there were not planned initially.