A little background and what works:
- I'm already familiar with using SD110 and SD130 APIs on the nRF51 series, so thats not an issue, also it confirms that my boards are working (so no hardware problems);
- I'm using only GDB to upload my hex files to the board via a Black Magic Probe, also got UART debugging("printf/stdio redirection", etc) running with it when needed;
- I also got RIOT-OS running on it, again uploaded using "load" command within GDB;
- I'm using a nRF51822xxAA (256k flash/16KB RAM);
The usual steps I always take (that work with SD or RiotOS) to upload the bootloader and app files to the board:
- compile everything (sometimes I need to fix/tweak the linker-scripts .ld files memory addresses);
- fire up GDB over BMP extended-remote;
- erase the flash with "monitor erase_mass";
- use "file " and then "load" to load the bootloader .hex or .elf on GDB;
- the repeat step 4 with the app .hex/.elf;
- run the code with "run" command.
Then when I tried to run mynewt OS (cause due to my project requirements there are some mynewt features that the OS along with NimBLE that may come very in handy). The problem it's that I couldn't even run theirs blinky example; Since I'm not using JLink to load the code, i'm skipping the "newt create-image" command and uploading the bootloader (at 0x0) and the app at the .ld address + 0x20 for the app header address (just like I would when I use a softdevice), just like i described as my usual steps above, and that's where it all gets strange and my know-how ends.
Are there any ways to upload the mynewt bootloader and an app to a nRF51 board using the BMP/GDB extended-remote only and get it running, like I did with everything else? What am I missing?
I speculate that it could be something about the mynewt bootloader not beeing able to find the app flash address... or the mynewt bootloader trying to verify some app header signature/hash that does not exist and then exiting...
Thanks, marsch.