How is the softdevice (s110) flashed?
Posted: Wed Jan 20, 2016 7:30 am
Hey Community
I'm messing around a little bit with the NRF51 firmware and am not quite able to figure out how exactly the softdevice hex file makes its way on to the crazyflie -- OTHER than the flash_s110 jtag target in the makefile. I've scoured the load files and binary linker maps and while I see them reserving flash/ram for the softdevice, I don't see them pulling the hex file in directly. Does cfloader pull the soft device in?
Or, is the softdevice simply loaded at the factory and is never clobbered? That seems to be the most logical answer based on what I've found, but then again I've been able to flash a BLE=0 S110=0 binary using "cfloader flash cf2-nrf.bin nrf51-fw" (which I think *should* clobber the softdevice, based on what I see in the ld file) and then re-flashing a BLE=1 S110=1 binary which restores BLE functionality, suggesting the softdevice is getting flashed again.
What am I missing? Is JTAG the only way to flash the soft device onto the NRF51?
Thanks
Sean
I'm messing around a little bit with the NRF51 firmware and am not quite able to figure out how exactly the softdevice hex file makes its way on to the crazyflie -- OTHER than the flash_s110 jtag target in the makefile. I've scoured the load files and binary linker maps and while I see them reserving flash/ram for the softdevice, I don't see them pulling the hex file in directly. Does cfloader pull the soft device in?
Or, is the softdevice simply loaded at the factory and is never clobbered? That seems to be the most logical answer based on what I've found, but then again I've been able to flash a BLE=0 S110=0 binary using "cfloader flash cf2-nrf.bin nrf51-fw" (which I think *should* clobber the softdevice, based on what I see in the ld file) and then re-flashing a BLE=1 S110=1 binary which restores BLE functionality, suggesting the softdevice is getting flashed again.
What am I missing? Is JTAG the only way to flash the soft device onto the NRF51?
Thanks
Sean