GPIO pin states during OTA DFU process

For Adafruit customers who seek help with microcontrollers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Aashyk
 
Posts: 2
Joined: Thu Jul 22, 2021 9:38 pm

GPIO pin states during OTA DFU process

Post by Aashyk »

Hello,

I have been working with Adafruit feather nRF52832 to develop a wearable prototype. Currently, I am implementing OTA updates through BLE, and developing this feature using the nRF toolbox app on Android. We were able to successfully upload our firmware onto the nRF52 breakout board, but some of the GPIO pins are being set to HIGH state during the DFU process. So, I am trying to figure out which GPIO pins are affected by the DFU process and if so how to configure their states during DFU process. Any help is appreciated, Thanks!

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: GPIO pin states during OTA DFU process

Post by adafruit_support_mike »

The only pin involved in the DFU is the D20, which should be pulled LOW to put the chip to launch a specialized version of the bootloaer after a reset.

User avatar
Aashyk
 
Posts: 2
Joined: Thu Jul 22, 2021 9:38 pm

Re: GPIO pin states during OTA DFU process

Post by Aashyk »

I'm pretty sure atleast two other pins such as P0.17 and P.19 changes state during the process; both are default LED pins. I am wondering if there are any other pins whose states are affected similar to these pins

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: GPIO pin states during OTA DFU process

Post by adafruit_support_mike »

Ah, I see the distinction: pins that are affected by the DFU code, not pins that have an effect on it.

Let me check with the folks who wrote the firmware.

User avatar
hathach
 
Posts: 1270
Joined: Tue Apr 23, 2013 1:02 am

Re: GPIO pin states during OTA DFU process

Post by hathach »

pin 17 and 19 are used for LED indicator https://github.com/adafruit/Adafruit_nR ... oard.h#L32 . It is built into the bootloader code. There is also 2 extra button input for determine bootloader mode. You could also try to add your own bootloader with gpio matches your design as well, check out the repo readme for the compiling instruction.

Locked
Please be positive and constructive with your questions and comments.

Return to “Microcontrollers”