This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DFU over serial UART

Hi, 

I am working on a project with 2 nrf52840 devices. One is the nrf52840 dk, while the other is a custom board with the nrf52840 module. I want to perform a dfu over uart to the custom board, however, the com port has no direct connection to the pc. I am currently connecting it to the nrf52840 DK via UART TX and RX pins. I would prefer to do the dfu without flow control, thus why I have not connected these pins. I have set the baud rate to 9600 and followed the answer given here. I was given the following error:

I have no idea as to why this is happening. The COM port is correct and I can program the bootloader on to both devices. This only occurs if I want to perform a dfu over UART. Any advice on where I should go from here, would be greatly appreciated!

Parents
  • Hi Amarin, 

    I would suggest to test the setup with some simple UART example code before you test with DFU. I would suggest to try testing with the UART loop back example in the SDK. 

    Have you made sure you connect ground on 2 boards nRF52 DK and the custom board ? 

    The info from the log telling that it couldn't open COM port 3, you may want to double check if it's the actual COM port of the DK. 

  • I did not connect ground to both devices and thus why I got the error. However I am now getting the following error: 

    I had done the previous serial examples on my SDK, and they work just fine. However, when I am trying to do a dfu over the uart with the custom board, and it still does not work.

  • Hi, 
    Have you tried to connect the DK to PC and the custom board to the DK and then can use UART on the custom board to communicate with PC ? 

    Please make sure you erase any application on the DK. Don't flash the bootloader on the DK. 


    The error telling that the custom board doesn't response to the ping command from the PC. Have you flashed the bootloader on the custom board and configured the GPIO pins for UART correctly on the bootloader firmware ? 

  • The custom board does not have a connection that can directly connect to the PC. The only way it can be programmed is through the debugger or through it's UART pins. I have tried connecting it directly to the DK and having the DK connect to the PC which results in the error above. 

    I have configured the bootloader to the custom board and was able to flash the bootloader on to the custom board via the debugger.

Reply
  • The custom board does not have a connection that can directly connect to the PC. The only way it can be programmed is through the debugger or through it's UART pins. I have tried connecting it directly to the DK and having the DK connect to the PC which results in the error above. 

    I have configured the bootloader to the custom board and was able to flash the bootloader on to the custom board via the debugger.

Children
  • Hi Amarin, 


    Please answer this question:  

    Hung Bui said:
    Have you tried to connect the DK to PC and the custom board to the DK and then can use UART on the custom board to communicate with PC ? 

     Please test flashing a simple code that use UART on the custom board to test if it can communicate with PC (with the DK in the middle)

  • Sorry for not answering the question, but I did connect the board via the DK and have the DK connect to the PC, however, the custom board does not communicate with the PC. I did flash a slightly modified version of the serial_pca10056 example to the custom board and it is transmitting data, however it does not read anything from the PC when it should be reading any key I push on the PC.

  • Hi, 
    You would need to solve the UART connectivity issue before testing with DFU. 
    On the DK you may want to flash an application that set the pins to INPUT, disconnect buffer. It's equivalent to high impedance mode. You set this so that it would not interfere with the communication between the PC and the custom board. 
    Next you would need to use a logic analyzer to check if the signal on the UART pins are as expected. 
    Please take a photo of your set-up.  

Related