Embedded Systems Engineer
Firmware and hardware debugging questions
161 questions on Firmware and hardware debugging for embedded systems engineers, easiest first.
Easy 48
- Floating input pineasy
- Absolute maximum ratingseasy
- Choosing scope or logic analysereasy
- Sizing an LED resistoreasy
- What a bootloader doeseasy
- First words read after reseteasy
- Why registers are volatileeasy
- Value of an uninitialised globaleasy
- Where initialised globals come fromeasy
- Signals used by SWDeasy
- Garbage characters on the consoleeasy
- I2C lines sitting at 0 Veasy
- What a watchdog timer doeseasy
- ELF file or raw binaryeasy
- Reading the linker map fileeasy
- Placing decoupling capacitorseasy
- UART idle line leveleasy
- RAM region overflowedeasy
- Programming flash bitseasy
- Knowing which build is on a deviceeasy
- Why keep two image slotseasy
- Signing or encrypting firmwareeasy
- Which key goes on the deviceeasy
- Comparing version numberseasy
- Kicking the watchdog in a timer ISReasy
- Mutex compared with semaphoreeasy
- Waiting inside an RTOS taskeasy
- Resuming a broken downloadeasy
- Start of the chain of trusteasy
- What a delta update needseasy
- Before starting an updateeasy
- Doing heavy work in an ISReasy
- printf inside an interrupteasy
- Rolling out to the whole fleeteasy
- One press, many interruptseasy
- What functional safety meanseasy
- Safety standard for carseasy
- Choosing a safe stateeasy
- Why teams follow MISRA Ceasy
- Highest automotive integrity leveleasy
- Board draws 1 A at power-upeasy
- Powering a new board first timeeasy
- Resets when the board is touchedeasy
- Protecting exposed connectorseasy
- Tracing requirements to testseasy
- Testing joints under a BGAeasy
- Catching a rare glitcheasy
- Using the built-in ROM bootloadereasy
Medium 59
- Slave holds SCL lowmedium
- Unit testing driver logicmedium
- Only a few breakpoints allowedmedium
- Is a CRC enough for an updatemedium
- App dies on first interruptmedium
- Counter read gives odd valuesmedium
- Lost GPIO pin changesmedium
- Sample rate for SPI capturemedium
- Ringing seen on the scopemedium
- Works only with the debuggermedium
- Variable shows "optimized out"medium
- Lookup table eating RAMmedium
- Logging without slowing the loopmedium
- Debugger drops in low-power modemedium
- Probe cannot attach any moremedium
- Magic value lost across resetmedium
- Interrupts stop during erasemedium
- Where the app must startmedium
- Why did it resetmedium
- Brownout and corrupt settingsmedium
- Halted in Default_Handlermedium
- Board stuck at clock setupmedium
- Is HTTPS enough for OTAmedium
- Confirming a new imagemedium
- Overwrite versus swap updatesmedium
- What actually gets signedmedium
- Verify once or every bootmedium
- High-priority task starvesmedium
- Two tasks stop forevermedium
- Blocking call in an ISRmedium
- Watchdog for many tasksmedium
- Reset from refreshing too soonmedium
- Cellular data for a fleet updatemedium
- Time to send an image over BLEmedium
- Image built for another boardmedium
- RTOS tick in a sleepy devicemedium
- Measuring sleep and burst currentmedium
- Debugging crashes in the fieldmedium
- What asserts do in releasemedium
- malloc fails after daysmedium
- Bug disappears when you lookmedium
- Two tasks share strtokmedium
- Probe stops the oscillatormedium
- What diagnostic coverage ismedium
- Testing RAM at start-upmedium
- Guarding a critical variablemedium
- Two sensors disagreemedium
- malloc in safety codemedium
- What static analysis addsmedium
- Resets when the radio sendsmedium
- SPI data off by one bitmedium
- Finding which part is shortedmedium
- Fault that comes and goesmedium
- Inputs for an ASIL ratingmedium
- Independent watchdog for safetymedium
- Proving an output switchedmedium
- Battery voltage from an ADC countmedium
- What flash ECC can fixmedium
- Adding a bootloader for firmware updatesmedium
Hard 54
- Battery dies too fasthard
- Bricked devices after an updatehard
- I2C bus stuck after resethard
- A phantom 100 Hz signalhard
- Proving the stack is big enoughhard
- Downgrading to signed old firmwarehard
- Firmware read over SWDhard
- Comparing a message authentication codehard
- Flash wearing out in a weekhard
- Settings lost on power cuthard
- Sleep current 60 times too highhard
- Baud rate error from roundinghard
- Finding the faulting instructionhard
- Which stack holds the framehard
- Reading a precise bus faulthard
- Fault PC points to the wrong linehard
- Crystal stops in the fieldhard
- Aligning a relocated vector tablehard
- Receiving frames of unknown lengthhard
- FromISR call trips an asserthard
- Cast pointer faults on M0hard
- Size of a header structhard
- Designing an image headerhard
- C++ globals never constructedhard
- Who is overwriting this variablehard
- DMA data looks stale on M7hard
- One AES key for every devicehard
- Battery life from duty cyclehard
- Power cut in the middle of a swaphard
- A signing key has leakedhard
- Where the signing key liveshard
- Verified but swapped afterwardshard
- Glitching past the checkhard
- Is this task set schedulablehard
- Critical section loses byteshard
- Barriers after core confighard
- Rollback after a settings changehard
- One cloud password for all unitshard
- Update resets halfway throughhard
- Crash only when printing floatshard
- Updating with dual-bank flashhard
- Reacting within the FTTIhard
- What MC/DC coverage proveshard
- Safety code beside non-safety codehard
- Largest pull-up for 400 kHz I2Chard
- Probing a high-side gate safelyhard
- Emission peaks every 25 MHzhard
- Display freezes after an ESD zaphard
- Failure rate for SIL 3hard
- Why use lockstep coreshard
- Redundancy that is not redundanthard
- State machine with no defaulthard
- ADC reads low through a dividerhard
- Jumping from bootloader to apphard