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