Hello,
I’m using the secure bootloader for serial DFU (UART, not USB). To enter bootloader mode from the application, I write 0xB1 to GPREGRET, then call NVIC_SystemReset(). On the dev boards I have (PCA10056 and Particle Boron), this works to reboot into DFU mode. However, on my custom board, it doesn’t work. The device appears to boot immediately into the application code.
I have made a custom board file that looks like this
#define LEDS_NUMBER 2
#define LED_1 NRF_GPIO_PIN_MAP(0,15)
#define LED_2 NRF_GPIO_PIN_MAP(0,18)
#define LED_START LED_1
#define LED_STOP LED_2
#define LEDS_ACTIVE_STATE 1
#define LEDS_LIST { LED_1, LED_2 }
#define LEDS_INV_MASK LEDS_MASK
#define BSP_LED_0 NRF_GPIO_PIN_MAP(0,15)
#define BSP_LED_1 NRF_GPIO_PIN_MAP(0,18)
#define BUTTONS_NUMBER 0
#define RX_PIN_NUMBER NRF_GPIO_PIN_MAP(0,23)
#define TX_PIN_NUMBER NRF_GPIO_PIN_MAP(0,24)
#define CTS_PIN_NUMBER NRF_GPIO_PIN_MAP(0,30)
#define RTS_PIN_NUMBER NRF_GPIO_PIN_MAP(0,31)
#define HWFC false
I’ve already read some advice including checking the LF crystal, and checking the UART pins. These don’t appear to be causing my problem, so I’m not really sure what to try next. I am open to debugging the bootloader, but I’m not sure how that will help since the device just enters the application code. Any guidance would be greatly appreciated
Thank you,
Carlos