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