No handlers for the Memory management, Bus, or Usage faults
- Dominant language
- C
- Stars
- 2.8k
- Forks
- 1.1k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 1
Description
The M3/M4 extra exception handlers are not configured:

For example the micro:bit KL27 is not calling anything:
https://github.com/ARMmbed/DAPLink/blob/94885288e25ad6a9290676848b966ddee022d8c1/source/hic_hal/freescale/kl27z/gcc/startup_MKL27Z4.S#L26-L41
https://github.com/ARMmbed/DAPLink/blob/94885288e25ad6a9290676848b966ddee022d8c1/source/hic_hal/freescale/kl27z/armcc/startup_MKL27Z4.s#L75-L90
In other ports there are weak links to `MemManage_Handler ` and others, but I couldn't easily find an implementation:
https://github.com/ARMmbed/DAPLink/blob/1c8d620480383a48d911b342a30401d96915de18/source/hic_hal/atmel/sam3u2c/armcc/startup_SAM3U.s#L55-L70
I assume the `HardFault_Handler` reboots DAPLink and the MSD drive comes back with a fail.txt file. Should the same be done for the other exceptions?
Contributor guide
Research direction
Start by comparing the KL27 GCC and ARMCC startup files linked in the issue with the SAM3U startup file, then locate the existing HardFault_Handler behavior. Determine the intended handling for Memory Management, Bus, and Usage faults across the affected ports. Done means the expected handler configuration and failure behavior are agreed and implemented consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100