Disable dfu UPLOAD in mboot

C programming, build, interpreter/VM.
Target audience: MicroPython Developers.
Post Reply
wghe
Posts: 9
Joined: Fri Mar 08, 2019 6:12 pm

Disable dfu UPLOAD in mboot

Post by wghe » Mon Mar 11, 2019 9:47 pm

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

Post Reply