Page 1 of 1

Disable dfu UPLOAD in mboot

Posted: Mon Mar 11, 2019 9:47 pm
by wghe
Hi

Following changes can make mboot to disable dfu UPLOAD function, hope it is useful!

1. modify mpconfigboard.h like this:

Code: Select all

// Remove MBOOT_UPLOAD_ENABLE to disable dfu UPLAOD for released firmware
#define MBOOT_UPLOAD_ENABLE             (1)
#define MBOOT_UPLOAD_EMPTY_BYTE         (0xFF)
2. change main.c for /mboot:

Code: Select all

void do_read(uint32_t addr, int len, uint8_t *buf) {
    #if defined(MBOOT_UPLOAD_ENABLE)
    #if defined(MBOOT_SPIFLASH_ADDR)
    if (MBOOT_SPIFLASH_ADDR <= addr && addr < MBOOT_SPIFLASH_ADDR + MBOOT_SPIFLASH_BYTE_SIZE) {
        mp_spiflash_read(MBOOT_SPIFLASH_SPIFLASH, addr - MBOOT_SPIFLASH_ADDR, len, buf);
        return;
    }
    #endif
    #if defined(MBOOT_SPIFLASH2_ADDR)
    if (MBOOT_SPIFLASH2_ADDR <= addr && addr < MBOOT_SPIFLASH2_ADDR + MBOOT_SPIFLASH2_BYTE_SIZE) {
        mp_spiflash_read(MBOOT_SPIFLASH2_SPIFLASH, addr - MBOOT_SPIFLASH2_ADDR, len, buf);
        return;
    }
    #endif

    // Other addresses, just read directly from memory
    memcpy(buf, (void*)addr, len);
    #else
    memset(buf, MBOOT_UPLOAD_EMPTY_BYTE, len);
    #endif
}
Then build mboot as usual:

Code: Select all

$ make V=1 BOARD=<board_name> USE_MBOOT=1
Enjoy!

WG