I tried them all. No, really.
But it seems that nothing really works 100%. I have an nRF52 board here from Nordic, and a cacophony of tools. I have a million sample projects from nordic, with no sane docs, and some soft devices with no sane docs either.
I am no novice- i've been working on embedded all my life, and work on Cortex-M chips for a few years already.
This is the worst situation I've seen in any vendor's libraries and support systems.
Literally there is no step-by-step to get a simple BLE app to run.
I erased my device. What now? Bootloader? I have to have one? where is this documented? where do I get it?
SoftDevice? Which of the 1000 ways to program it should I use?
Sample App? which?
Really. How is this even acceptable?
I tried gcc, I tried keil. I tried jlink, i tried nrfjprog, i tried a normal SWD debugger to load code
the furthest i have gotten is a HardFault in the sample bootloader at sd_mbr_command() Which bootloader? who knows, i built the pca100400/single-bank-serial-s132? Is it the right one? i'd love to be able to tell but I simply do not know.
Even random chinese chips come with better documentation. What gives?
EDIT:
i dumped the flash and started disassembling what all this code produced Seems like sd_mbr_command produces an SVC instr. which would be wonderful, except the CPU isn't configured for that and takes a hard fault. wonderful sample code there...
Digging further, I do see the bootloader having an SVC handler, except nowhere is it found in the source code. Disassembly shows a rather large-switch case based on passed params. Source? not that I can find...
I shouldn't have to reverse engineer this sort of thing..