Yesterday I spent some time using SWD/JTAG to flash and step through some NRF51 code to take a deeper look at UART timing for syslink messages. I used SWD and the debug adapter (jumper set to 'SWDIO' per the instructions) to flash firmware built with "S110=0 BLE=0". After some hiccups (apparently I needed to power off battery instead of USB? See my forum post from yesterday) it was working great and I measured the timing info I was interested in.
Once done, I sync'ed back to the latest master for the NRF51 firmware and rebuilt (with S110=1 and BLE=1) and did a "make factory_reset" to put the NRF51 back to normal.
I went back to debugging on the STM32 side and discovered that I'm not able to communicate with the chip at all. Here's what I know:
- The M3 LED is not illuminated. I do not know when this started, but I distinctly remember seeing both M2 and M3 illuminated at one point while I was stepping through the power management portion of the NRF51 code.
- The STM32 does not enumerate as a DFU device when I long press the button (but the M2 LED does blink fast as expected)
- OpenOCD cannot communicate with the chip via SWD. The error is "unable to connect to target"
Any clues might cause this? Have I provisioned the NRF51 correctly using JTAG or am I missing a step? Do I need to also flash the "crazyflie2-nrf-bootloader" project?