Conversation
UART-only flash tool for ResMed AirSense 10. Enters bootloader via RES + BID, erases and writes flash blocks (CCX/CDX/CMX/BLX), with auto baud negotiation. Supports full 1MB image or individual block flashing, CRC16 validation with optional fix, and auto-detection by file size.
|
Hit some issues today with switching to bootloader (timing?). need to investigate... |
…ootloader switching
|
setting #BLL = 0001 triggers a fast restart without reinitializing peripherals. |
|
Ahh.. there's one very important caveat: I will try to rework patch_tamper later, in separate PR |
- multiple blocks can be selected by passing more --block args - block alias 'all' also includes bootloader - sort and deduplicate specified blocks
Sending completion frame after single block causes reboot, so we need to reenter bootloader. There /should/ be a way to do this in a single pass, but it requires further reverse engineering of the protocol.
- support alternative block layout - cross flashing safety check - sanity checks when trying to flash blocks not including bootloader that does not match currently running image layout - support only SX577-0200 by default as the SX585 platform is currently a minefield.
UART-only flash tool for ResMed AirSense 10.
Enters bootloader via RES + BID, erases and writes flash blocks (CCX/CDX/CMX/BLX), with auto baud negotiation.
Supports full 1MB image or individual block flashing, CRC16 validation with optional fix, and auto-detection by file size.