Hello,
The sd_softdevice_enable never returns, how can I investigate please ?
With my Jlink probe, it's look halted at address 0x000008CC.
Configuration:
SDK 15.0.0, SD_132_6.0.0 with bootloader
Hello,
The sd_softdevice_enable never returns, how can I investigate please ?
With my Jlink probe, it's look halted at address 0x000008CC.
Configuration:
SDK 15.0.0, SD_132_6.0.0 with bootloader
I wouldn't mess with anything on the NVIC when using the SD even just to debug. All manner of things can go wrong.
Invariably, the inability to enable the SD is virtually always clock related. Normally people just mess up the LF clock config info the SD uses and usually this is because it is a custom board and they didn't place the crystal to save money or space.
It will halt in random places since it keeps chugging along until it realizes the LF clock isn't running. All the addresses are inside the SD so impossible to say (except for Nordic) what is actually going on at that memory location.
Double check your clock config.
Hello,
It's not a clock issue for two reasons:
- I tried with RC clock without success.
- This board works with my code for SDK 13
I have a hardfault exception...
Hello,
It's not a clock issue for two reasons:
- I tried with RC clock without success.
- This board works with my code for SDK 13
I have a hardfault exception...
Hardfault is what happens when the SD doesn't have a clock source. There is nothing nice about how it returns from that.
So to be clear, the board you are working on is custom or not?
And, have you tried the same code on a DK?
Hello,
It's a custom board. I will try with a DK ASAP
Hello,
My problem is confirmed with a DK board. Always a hardfault. Where can i found the memory layout of S132 for SDK 15 please ? Where in SDK are settings that i may have to change (addresses, sizes, ...)
I tried Nordic exemple "ble_app_multirole_lesc" for S132, (no bootloader, Segger probe and -Og at compilation) => same issue
This happens in your debugger, no? Which one are you using?
You load the softdevice, than load the app, than press the start button in your debugger?
Check where the debugger starts. Most probably, it takes a start address from the vector table that is part of the application. However... that is not the same vector table that is used during reset.
You need to tell your debugger it has to initialize PC and SP registers from the vector table at address 0. If you're using oZone, there's a discussion on the segger forum about this exact same issue (yeah, I'm in the same boat).