Embedded Software Primer

An embedded software primer is typically focused on implementation of embedded systems using an RTOS and cross development tools. The topics which should be covered include:

1. What is an embedded system?

  • What is a real-time system?
  • What is a signal processing system?
  • What is digital signal processing?
  • What are the main uses of DSP?
  • Examples of Embedded Systems
  • Examples of Real-Time Systems
  • Examples of DSP systems.

2. Architecture of Embedded Systems

  • Software Architectures
  • Hardware Architectures

3. Hardware Options and Issues

  • Interrupts and interrupt response
  • Processor Types
  • Processor Architectures
  • FPGAs and FPGA Processors
  • Multicore – the whys and why nots
  • DSP Implementation – the options

4. Software Options and Issues

  • Real-Time Operating Systems and POSIX
  • Interprocess Communication and Synchronization
  • Threads
  • Memory management
  • I/O
  • Interrupt Processing
  • Multicore RTOS
  • Heterogeneous RTOS
  • DSP RTOS
  • Real-Time Scheduling and Performance Design
  • No RTOS

5. Modeling and High Level Design

  • UML 2
  • Petri Nets
  • Performance Models and PUMA
  • Multicore Allocation and Scheduling

6. Testing and Simulation

  • Testing Levels
  • White, Black and Grey Box Testing
  • Test Languages
  • GUI Testing
  • Pattern Recognition and Neural Based Testing