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

UART bootloader fails at 1000000 baud with HWFC

I tried with the DK and my own USB-serial adapter and both fails at 1M with HWFC with this error:

nrfutil dfu serial -pkg bltest.zip --baud-rate 1000000 --flow-control 1 -p COM38

pc_ble_driver_py.exceptions.NordicSemiException: Did not receive checksum response from DFU target. If MSD is enabled on the target device, try to disable it ref.

I see many people saying it fails at 1M.  460800 works on the DK.  Is 1M supposed to work?  I set NRF_DFU_SERIAL_UART_RX_BUFFERS to 250 already.  In a test app I don't see any data corruption at 1M doing a loopback test.

Parents Reply Children
  • I'm not sure if change in nrf_bootloader.c is required. However, NRF_DFU_SERIAL_UART_RX_BUFFERS must be increased for higher baudrates.

    I run few tests with 1M baudrate and used profiler in app_scheduler (APP_SCHEDULER_WITH_PROFILER option) to figure out what was the maximal utilization. I’ve only increased number of RX buffers to 32 (NRF_DFU_SERIAL_UART_RX_BUFFERS). On my setup utilization was never higher than 21 (between 10 and 21 when running DFU few times).

Related