#BL602 Firmware Flasher works like a State Machine ... Each Flashing State triggers a Flashing Command ... Let's trace the Flashing States
https://github.com/bouffalolab/BLOpenFlasher/blob/main/utils/util_program.go#L195-L245
You can't tell which way the train went by looking at the tracks ... So let's study the #BL602 Firmware Flasher ... And see what Flashing Commands it sends to the EFlash Loader
So cute that the #BL602 Flashing Commands are all ASCII ... Perfect for UART! 👍
https://github.com/lupyuen/bl602-eflash-loader#flashing-commands
Here are the 24 Flashing Commands supported by the #BL602 EFlash Loader ... Thanks to Ghidra 🎉
https://github.com/lupyuen/bl602-eflash-loader#flashing-commands
What are the Flash Commands executed by the #BL602 EFlash Loader? 🤔
https://github.com/lupyuen/bl602-eflash-loader/blob/main/eflash_loader.c#L3814-L3844
Here's the #BL602 EFlash Loader's Main Loop that executes Flashing Commands
https://github.com/lupyuen/bl602-eflash-loader/blob/main/eflash_loader.c#L4031-L4108
#BL602 EFlash Loader's Main Function is surprisingly readable ... Decompiled from ELF by Ghidra
https://github.com/lupyuen/bl602-eflash-loader/blob/main/eflash_loader.c#L2803-L2863
Decompiled #BL602 EFlash Loader is here ... 10,000 lines of C to skim for goodies 👍
https://github.com/lupyuen/bl602-eflash-loader/blob/main/eflash_loader.c
EFlash Loader is the program that runs on #BL602 to flash all firmware ... The ELF was uploaded recently (no source available) ... Let's look inside with Ghidra
https://github.com/bouffalolab/bl_iot_sdk/tree/master/flash_tool/chips/bl602/eflash_loader
#BL602 will have new Embedded Flash ... Get ready to update our dev tools 👍
https://gist.github.com/lupyuen/2cb2034a436dc75acc1aeb63ea3b9aa1#file-bl602-new-emdedded-flash-md
With Auto Flash & Test: No more worries about merging hundreds of Upstream Commits (and thousands of changed files) into our #NuttX Repo! 👍
https://lupyuen.github.io/articles/auto?22#merge-updates-from-nuttx
RESET and GPIO 8 on #BL602 ... Extreme Close-Up
https://lupyuen.github.io/articles/auto?30#connect-bl602-to-single-board-computer
Here's how I sync my #BL602 Articles with Upstream #NuttX
https://lupyuen.github.io/articles/auto?21#merge-updates-from-nuttx
Keeping my #BL602 Articles in sync with #NuttX Upstream looks complicated ... But I'll explain everything ☂️
https://lupyuen.github.io/articles/auto?20#merge-updates-from-nuttx
IoT Techie and Educator / Apache NuttX PMC