Course Outline
Embedded C programming
- Overview of Fundamental C programming
- Memory Allocation
- Interrupts
- Multitasking and multithreading
- Synchronization and intertask communication
- Peripheral communication
- Compilers
### Real-time Linux, RTOS, and Embedded Linux
- Introduction to Linux: Architecture, files, and directories - POSIX standards - Multithreading and task management - Toolchain, Bootloader, Kernel, and rootfs - Starting with Raspbian, followed by instructions on building a dedicated (and smaller) image using Buildroot or Yocto - PREEMPT_RT, Xenomai - RTEMS - Cross-compilation, 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 - TCP/IP, UDP - Zigbee, Wi-Fi - ADC, Arduino
- Displays - GSM modems - Networking ### Embedded C++, Qt
### Robust and Fail-Safe Embedded Software
- Effective and efficient programming techniques - Debugging and troubleshooting strategies - Inspection and analysis methods - Defensive and self-test coding - Watchdog timers
### ARM Technology and Programming
Testimonials (1)
Being able to ask for advanced subjects even if there were not planned initially.