• <More on Intel.com
Masthead Light

Embedded Curriculum

Topics and Details

Intel partners with higher education on curriculum for embedded computing.

Below you will find a summary of the various embedded computing topics with details about what is included in a particular topic.

Embedded Curriculum Topics
Real-Time Programming Hard Real-Time, Soft Real-Time
Run to Completion/Pre-Emption
Interrupt Service Routines, Priorities, Masking
Interrupt Latency
Direct Memory Access controllers
Real Time Clock
Interrupt Sources
– PCIe Message Signal Interrupt
– Inter-processor interrupt
– Advanced Programmable Interrupt Controller
– Hardware Arbitration
Endian Neutral Programming Code Portability
Compile Time Controls
Run Time Controls
Network Byte Ordering
Data Storage and Shared Memory
Byte Swap Macros
Data Transfer
Data Types
Multi-Core/Multi-Threading Elements of Parallel Programming and Multi-Threading
– Data and Task Parallelism
– Inter-Process Communication and Thread Synchronizations
– Re-Entrant and Thread Safe Programming
Non-Uniform Memory Architecture Programming (NUMA)
Programming with Threading APIs
Threading Building Blocks OpenMP
Solutions to Common Parallel Programming Problems
Debugging and Testing Multi-Threaded Applications
Software Development Tools for Multi-Threading
Firmware System Initialization - Boot Loaders/BIOS
Firmware and Driver Development
ROM Image
Application Programming Interface (API)
Virtualization Hypervisors
CPU Virtualization
Memory Virtualization
Device Emulation
Interrupt Delivery
Network Virtualization
I/O Virtualization
PCI-SIG I/O Virtualization (IOV)
Single Root IOV (SR-IOV)
Security and Secure Applications Internet Protocol Security (IPsec)
Secure Sockets Layer (SSL)
Security Algorithms (DES, 3DES, AES, etc.)
Cryptographic Hash Function (SHA-x, MD5, etc.)
Private and Public-key Encryption
– Statefull Firewall
– Intrusion Detection/Prevention System
Open Source Implementations (OpenSSL)
Power Aware Applications Dynamic Power Management (DPM)
Profile of Application Over Memory Banks
Power-Aware Scheduling
Dynamic Voltage/Frequency Scaling (DVS)
Shutting Down Unused Peripherals
System Sleep Modes
Networking Network stack/OSI Model
Wireless 3G/4G Technolgoies
TCP/IP Protocol
Ethernet/IEEE 802.x Specifications
Routing Protocols
Embedded Software Development and
Debug Tools
Cross Development Environments
Software Profiling Tools
Code Coverage Tools
Open Source vs Proprietary tools
JTAG debug
Single Stepping
Virtual Memory Mapping
Reliability and Serviceability, Safety and Certification
Parity or ECC Protection
Cyclic Redundancy Check Checksums for Data
Lock-Step to Perform Master-Checker
Avoid Single Point of Failures
Hot Swapping of Components
Partitioning/Domaining of Computer Components
Computer Clustering Capability
Virtual Machines
Temperature Sensors
Failover Capability
System-on-a-chip (SOC) Interfaces Memory Interfaces
Industry Standards such as USB, Ethernet, USART, SPI, SATA, I2S/I2C, CAN
I/O Interfaces Such as PCI, PCI-X, PCI-Express
Analog Interfaces Including ADCs and DACs.
Voltage Regulators and Power Management circuits
Communications Components 10/100/1000 Ethernet
10G/40G Ethernet
Memory Technologies DRAM (DDR, DDR2, DDR3, RDRAM, SDRAM)
Solid State Drives (SSD)
Graphics and Video Embedded 2D/3D Graphics
Video Playback, Encode, Decode
Graphics Processing Units (GPU)
Media Accelerators
Media Formats (H.264, MPEG2, MPEG4)
Audio Formats
Graphics Quality Metrics
Power Management C-States
Measuring Power Consumption
Thermal Design Power
Thermal Considerations
Heat Sink Technology
Board/System Design Low Power and Power-Aware Design
Dynamic Power Management (DPM)
Profile of Application Over Memory banks
Power-Aware Scheduling
Dynamic Voltage/Frequency Scaling (DVS)
Shutting Down Unused Peripherals
System Sleep Modes
Design Documentation
Schematic Capture Tools
Board/System Validation Board Design
- Board Design Flow and Rules
- Layout
- Debug Tools
Board Validation
- Validation Flow
- Basic Function
- Power Delivery
- Singnal Integrity
- Thermal
- Compatibility
- System Level: Vibration/Shock
Thermal Design and Validation Thermal Modeling
- Power Estimation/Modeling
- Performance Estimation/Modeling
- Reliability Estimation/Modeling
Primary/Secondary Heat Flow Path
Interconnect Thermal Characteristics
I/O pads to PCB Thermal Characteristics
Component Placement
Thermal Interface Material
Thermal Validation Techniques
Hardware Debug Tools and Methodology Joint Test and access Group (JTAG) IEEE Std. 1149.1-1990
Design-In Technologies
- Boundary Scan
- TAP Controller Interface
- XOR Chain
- Voltage and Ground Rail Testing
Test Equipment: Logic Analyzers, Oscilloscopes
Offload Architectures Defining Micro-Architecture Boundaries
- Software Algorithm Analysis to Determine Offload Algorithms
- Hardware Implementation and Interface
Offload to Internal Systems Vs. External Systems
Offload Device Dependencies
- Interconnect Queue Structures
- Bridging from Interconnect to Device Internal Structure
Creating Application Programming Interfaces (APIs) Creating API Interface Definitions
Modeling Software CPU to API Interaction
Hardware Definition to Support APIs
Offload Programming Techniques
System Performance Characteristics
Performance Characterization Performance Modeling
CPU/FPGA Interconnect Throughput and Latencies
FPGA/Memory Throughput and Latencies
Clocking Boundary Differences
Roundtrip Latencies
Sleep State Implications
Configurable Tuning Parameters
Hardware Performance Monitoring Unit
Hardware and Software Design Hardware/Software Partitioning
- CPU Interaction with Offload Device
- Offload Device Requirements
- CPU Interrupt Vs. Polling to Offload Device
- API Development
Hardware/Software Estimation
- Software Algorithm Analysis
- CPU Hardware Advantages (Caching, Prefetching)
Hardware/Software Simulation
- Simulation/Modeling Techniques
Hardware/Software Prototyping
- FPGA Prototyping
More Information