Useful Links
Engineering
Computer Engineering
Embedded Systems
1. Introduction to Embedded Systems
2. Core Hardware Components
3. Input/Output and Interfacing
4. Communication Protocols
5. Embedded Software Development
6. Real-Time Operating Systems
7. System Design and Integration
8. Debugging and Testing
9. Advanced Topics
10. Application Domains
Embedded Software Development
Programming Languages
C Programming for Embedded Systems
Memory Management
Pointer Arithmetic
Bitwise Operations
Volatile Keyword Usage
Data Structures
Arrays and Strings
Structures and Unions
Linked Lists
Circular Buffers
C++ for Embedded Systems
Object-Oriented Programming
Classes and Objects
Inheritance
Polymorphism
Encapsulation
Resource Management
Template Usage
Standard Template Library
Assembly Language Programming
Instruction Set Basics
Register Usage
Memory Addressing Modes
Inline Assembly
Alternative Languages
MicroPython
Rust for Embedded
Ada
Development Environment
Cross-Compilation
Toolchain Components
Preprocessor
Compiler
Assembler
Linker
Debugger
Build Systems
Makefiles
CMake
Autotools
Version Control
Git Workflows
Branching Strategies
Software Architecture Patterns
Super Loop Architecture
Main Loop Structure
Polling vs Interrupts
Limitations and Use Cases
Interrupt-Driven Programming
Interrupt Service Routines
Interrupt Prioritization
Nested Interrupts
Interrupt Latency
State Machine Design
Finite State Machines
Hierarchical State Machines
State Transition Tables
Event-Driven Architecture
Layered Architecture
Hardware Abstraction Layer
Device Drivers
Application Layer
Memory Management
Static Memory Allocation
Dynamic Memory Allocation
Stack Management
Heap Management
Memory Protection
Memory Optimization Techniques
Previous
4. Communication Protocols
Go to top
Next
6. Real-Time Operating Systems