How openchirp/ccbootutil works
ccbootutil is a command-line and scriptable interface for programming and inspecting TI CC2538/CC26xx bootloaders over a serial connection. The user supplies a port, command, and—when flashing or verifying—an ELF file. The CLI opens the port and dispatches bootloader operations; programming uses ELF regions to erase and write flash, verification compares CRCs, and the combined command resets after success. The graph reflects the sampled main.go and flash.go; bootloader protocol internals are provided by an external library and were not inspected.
Main entry points: main.go Command CLI · flash.go Flash image
Components 13
CLI orchestration
- Command CLI
main.go - Serial port
main.go - Serial console
main.go
Device operations
- Bootloader commands
main.go - Memory inspection
main.go - CCFG updates
main.go
Image programming
- Flash image
flash.go - Verify image
flash.go
Other components
- User
- Terminal I/O
- ccboot library
- ELF image
- TI bootloader
Connections 20
- User → Command CLI: invokes
README.md - Command CLI → Serial port: opens port
main.go - Command CLI → ccboot library: creates device
main.go - Command CLI → Bootloader commands: dispatches commands
main.go - Command CLI → Memory inspection: dispatches read
main.go - Command CLI → CCFG updates: dispatches updates
main.go - Command CLI → Flash image: calls flash
main.go - Command CLI → Verify image: calls verify
main.go - Command CLI → Serial console: starts console
main.go - Serial console → Terminal I/O: copies streams
main.go - Serial console → Serial port: reads and writes
main.go - Bootloader commands → ccboot library: calls operations
main.go - Memory inspection → ccboot library: reads memory
main.go - CCFG updates → ccboot library: sets fields
main.go - Flash image → ELF image: parses regions
flash.go - Verify image → ELF image: reads regions
flash.go - Flash image → ccboot library: erases and writes
flash.go - Verify image → ccboot library: requests CRC
flash.go - ccboot library → TI bootloader: communicates with
- User → ELF image: provides image
README.md