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
Fullscreen
1
#define BOOT_SERIAL_INPUT_MAX 4096 // was 512
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
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CONFIG_DEBUG=n
CONFIG_PM=n
CONFIG_MAIN_STACK_SIZE=10240
CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h"
CONFIG_MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD=n
CONFIG_BOOT_SWAP_USING_SCRATCH=y
CONFIG_BOOT_ERASE_PROGRESSIVELY=y
CONFIG_BOOT_SWAP_SAVE_ENCTLV=n
CONFIG_BOOT_ENCRYPT_RSA=n
CONFIG_BOOT_ENCRYPT_EC256=n
CONFIG_BOOT_ENCRYPT_X25519=n
CONFIG_MCUBOOT_INDICATION_LED=y
### mbedTLS has its own heap
# CONFIG_HEAP_MEM_POOL_SIZE is not set
CONFIG_FLASH=y