System Configuration blocks provide essential initialization, clock configuration, scheduler control, and performance monitoring for embedded applications. The MPLAB Blockset includes the Master block (required in every model), scheduler configuration, compiler optimization controls, and system monitoring blocks for robust embedded system development.
| Block | Required? | When to Use |
|---|---|---|
| MCHP_Master | ✅ Always | Every model must have exactly one Master block |
| MCHP_Scheduler_Options | ⚠️ Multi-rate | Use when model has multiple sample rates |
| MCHP_Compiler_Options | Optional | When fine-tuning performance or code size |
| Block | Purpose | Use Case |
|---|---|---|
| MCHP_MCU_Load | Monitor CPU usage | Development, optimization, validation |
| MCHP_MCU_Overload | Detect deadline violations | Safety-critical, real-time validation |
| MCHP_Tasks_State | Track task execution | Debugging scheduler behavior |
Priority Assignment:
Preemption:
When to Use Preemption:
| CPU Load | Interpretation | Action |
|---|---|---|
| < 50% | ✅ Healthy headroom | Normal operation |
| 50-70% | ⚠️ Moderate load | Monitor, optimize if growing |
| 70-90% | 🔶 High load | Optimize algorithms, reduce sample rates |
| > 90% | 🔴 Critical | Immediate optimization or faster MCU |
| ≥ 100% | ❌ Overrun | Deadline violations, system unstable |
Symptoms: MCU_Overload flag set, erratic behavior
Symptoms: Only one task executes, others ignored
Symptoms: Timing incorrect, UART baud rate wrong
| System Block | dsPIC30F | dsPIC33F | dsPIC33E | dsPIC33C | dsPIC33A | PIC24 | PIC32 | SAM |
|---|---|---|---|---|---|---|---|---|
| MCHP_Master | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Scheduler_Options | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Tasks_State | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MCU_Load | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MCU_Overload | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Compiler_Options | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Idle_Task | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Interrupt | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Legend: ✅ Full Support
All system configuration blocks support all device families. Device-specific details are automatically handled by each block based on the selected target MCU.
Related Block Categories:
Recommended Reading:
Example Projects:
💡 Quick Setup Guide:
The CompilerOptimisation block configures compiler toolchain, optimization levels, Device Family Pack (DFP) selection, and linker options for …
Read more →Idle Task Characteristics: - Lowest priority - Preempted by any scheduled task or interrupt - Non-deterministic timing - Execution time varies with …
Read more →The Interrupt block creates interrupt-driven subsystems by connecting peripheral interrupt sources to Simulink triggered subsystems. The block …
Read more →CRITICAL: The Master block is MANDATORY in every MCHP Blockset model. This is always the FIRST block to add to any new model. Without it, no other …
Read more →The MCU LOAD block measures and outputs the real-time CPU utilization percentage, providing essential feedback for performance optimization and …
Read more →The MCU OVERLOAD block detects when scheduled tasks miss their deadlines and provides diagnostic information for identifying the cause of overload …
Read more →The Scheduler Options block configures the behavior of the built-in Rate Monotonic Scheduler used for multitasking in MCHP Blockset models. The …
Read more →The SECONDARY CORE block configures the secondary (slave) core in dual-core dsPIC33CH devices. Dual-Core Architecture Feature Master Core Secondary …
Read more →The Tasks State block outputs the current execution state of all scheduled tasks, providing real-time visibility into the multitasking scheduler …
Read more →