Embedded Systems Engineer
Performance and debugging questions
46 questions on Performance and debugging for embedded systems engineers, easiest first.
Easy 10
- What lives in flash and SRAMeasy
- SWD compared with JTAGeasy
- Byte order of a 32-bit valueeasy
- Saving RAM with a lookup tableeasy
- Choosing a FreeRTOS heap schemeeasy
- Tasks with no heap at alleasy
- Checking how much stack a task usedeasy
- Turning on configASSERTeasy
- Catching out-of-heap errorseasy
- Checking Zephyr thread stack useeasy
Medium 20
- I2C device not respondingmedium
- SPI returns garbagemedium
- Work done before mainmedium
- Sleep current high only under debugmedium
- Board hangs without the debuggermedium
- Why did the field unit rebootmedium
- Deleted tasks leak memorymedium
- Measuring CPU use per taskmedium
- CPU load from run-time statsmedium
- Seeing task switches over timemedium
- Allocation fails with free memory leftmedium
- Heap across two RAM banksmedium
- Calling malloc from several tasksmedium
- Task crashes after adding printfmedium
- Logging inside a fast ISR in Zephyrmedium
- Isolating an untrusted taskmedium
- Limiting a Zephyr thread to its own memorymedium
- Avoiding malloc after start-upmedium
- Measuring task switch timemedium
- Spotting a stuck taskmedium
Hard 16
- Random HardFaultshard
- Works at -O0, fails at -O2hard
- Slow maths on a Cortex-M4Fhard
- Jitter in a control loop ISRhard
- Timing an ISR in CPU cycleshard
- Finding the line that faultedhard
- Imprecise bus fault addresshard
- Catching stack overflow with the MPUhard
- Task reads garbage from a main localhard
- What stack overflow checking catcheshard
- Seeing queue contents in a debuggerhard
- Crash after adding a large local in mainhard
- Catching thread stack overflow in Zephyrhard
- Allocating memory from a Zephyr ISRhard
- Calling pvPortMalloc in an ISRhard
- Debugger shows only one call stackhard