This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MCUBOOT slow with nRF52840 / Zephyr / USB CDC_ACM protocol

I have MCUBOOT compiled under Zephyr 3.0 working fine with my 52840 based project.  The transport is the CDC ACM "UART" using CONFIG_MCUBOOT_SERIAL

Using mcumgr.exe to load the application from Windows, it was taking 4 1/2 minutes to load/program a 220K app.  That is less than 1KB/sec.  

I was able to do a significant speedup by changing the mtu. This involved changing the config line CONFIG_BOOT_MAX_LINE_INPUT_LEN=4096 and modifying the following in boot_serial.c

That allowed me to change the mtu on the mcumgr as the following

mcumgr --conntype serial --connstring dev=COM4,mtu=4096 image upload signed-app.bin

It is now 1 1/2 minutes, which is still only 2.7KB/sec.  Any ideas on what could be keeping it still so slow?   

Prj.cnf is below

Parents
  • I am using the virtual UART presented over the nrF's USB with the CDC_ACM protocol.  (CONFIG_BOOT_SERIAL_CDC_ACM) . The physical UART is not connected.  And yes using the serial recovery protocol. Looked to me that is what mcumgr supported.

Reply
  • I am using the virtual UART presented over the nrF's USB with the CDC_ACM protocol.  (CONFIG_BOOT_SERIAL_CDC_ACM) . The physical UART is not connected.  And yes using the serial recovery protocol. Looked to me that is what mcumgr supported.

Children
No Data