Useful Links
Computer Science
Software Engineering
STM32 Microcontroller Development
1. Introduction to STM32 Microcontrollers
2. Foundational Knowledge
3. Setting Up the Development Environment
4. Core Architecture and System Control
5. General Purpose Input/Output (GPIO)
6. Interrupts and Exception Handling
7. Timers (TIM)
8. Direct Memory Access (DMA)
9. Serial Communication Interfaces
10. Analog Peripherals
11. Power Management and Low-Power Modes
12. Software Development and Architecture
13. Debugging and Testing
14. Advanced Topics and Peripherals
Software Development and Architecture
Firmware Design Patterns
State Machine Implementation
Finite State Machines
Hierarchical State Machines
State Transition Tables
Event-Driven Programming
Event Queues
Event Handlers
Asynchronous Processing
Polling vs Interrupt-Driven Design
Polling Advantages and Disadvantages
Interrupt-Driven Benefits
Hybrid Approaches
Non-blocking Code Design
Cooperative Multitasking
Yield Points
State Preservation
Real-Time Operating Systems (RTOS)
RTOS Fundamentals
Real-Time Constraints
Deterministic Behavior
Priority-Based Scheduling
Task Management
Task Creation and Deletion
Task States
Task Priorities
Task Switching
Synchronization Primitives
Semaphores
Binary Semaphores
Counting Semaphores
Mutexes
Priority Inheritance
Deadlock Prevention
Event Flags
Inter-Task Communication
Message Queues
Mailboxes
Pipes
Memory Management
Static Memory Allocation
Dynamic Memory Allocation
Memory Pools
FreeRTOS on STM32
FreeRTOS Configuration
Task Implementation
Queue Usage
Timer Services
Interrupt Integration
Hardware Abstraction
STM32 HAL Library
HAL Architecture
Initialization Functions
Process Functions
Callback Functions
Error Handling
Low-Layer (LL) Drivers
LL API Structure
Register-Level Access
Performance Optimization
Memory Footprint
Custom Abstraction Layers
Driver Interfaces
Platform Independence
Code Organization
Modular Programming
Module Design Principles
Interface Definition
Implementation Hiding
File Structure
Header File Organization
Source File Organization
Configuration Files
Build System Integration
Makefile Organization
Dependency Management
Version Control
Git Best Practices
Branching Strategies
Code Review Processes
Previous
11. Power Management and Low-Power Modes
Go to top
Next
13. Debugging and Testing