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

UART DFU MBR example

Hi,

I'm trying to use uart dfu mbr example and when I flush boot loader via jlink I see that it write mbr hex file at address 0x0. My main application also started from address 0, should I move it to address MBR_SIZE or this mbr hex file used only for debugging.

Parents
  • Hi Uri, 

    The MBR is needed for the bootloader to operate. If your application started from address 0, you would need to move it to MBR_SIZE (0x1000). You can refer to our blinky example made for MBR compatibility \examples\peripheral\blinky\pca10040\mbr. 

  • Hi, I encountered in problem when I send fw image to boot loader, it is crushes after second write request, init packet sent ok, but when i start transfer fw image it boot loader is crushed. Do you know what can be a reason?

  • Yes, I try send from nrf52840 that is my master send to nrf52805 via uart. I used your sample to send package and I have the same behavior, your program is stuck after it starts to send image because your code is blocking on uart transfer bit, but init packet is sent ok.

  • Hi Uri, 
    Have you tried to use nRFutil application on PC  to send the same image ? 
    Have you done any successful DFU update to your NRF52805 chip ? 

    If you can do a DFU update using the nRFUtil you can capture a logic trace of the UART pins. And then do the same with your/my DFU bootloader and compare the two. 

    Which error code was thrown after you sent the init packet ? 

  • Hi, the problem is that 805 is not exposed to PC, the only way is via 840. Can I send you project and may be you discover the problem?

  • Please try to setup a test bench, you can use a NRF52 DK to test receiving image.  


    What you are trying to build is quite complex and requires good understanding of the bootloader and the DFU protocol. I don't see any way of achieving that without good debug setup. I would suggest to get very familiar with the UART DFU process, by first testing it with the nrfutil on PC.

  • Ok, thank you. Where can I find uart dfu project for 805?

Reply Children
  • Hi Uri, 
    The nRF52805 is very similar to the NRF52810, with some differences in the peripherals, but not in the flash and RAM. 
    You can re-use the PCA10040E project (which is for NRF52810) for the nRF52805. You may need to switch the boards.h setting to choose nrf52805 instead of nRF52810. 

  • That what I did already. Thank you tried to help.