Skip to main content

Flasher for SMLIGHT CC26xx Devices

Project description

SMLIGHT CC Flasher

Firmware flasher for Texas Instruments CC13xx / CC26xx Zigbee SoCs.

Installation

$ pip install smlight-cc-flasher

Usage

While this flasher was based on cc2538-bsl, some CLI options have changed:

  • -p, --port is now -d, --device for input /dev/ttyUSB0 or socket://host:port
  • New --host to specify network host, as alternative to -d socket://host:port, however if specified with USB -d /dev/ttyUSB0, will attempt network BSL only.
  • -p, --port now specifies network port (default 6638)
  • New --m33 option, required for CC2654P10 chips (i.e SLZB-0xP10)
  • New -bootloader-reset <mode> to specify BSL mode
  • --read now outputs to dedicated file specified with --output <file>
  • Some other options removed.

See smlight-cc-flasher --help for more details.

Flashing Firmware Examples

USB (on Linux/Mac will attempt to autodetect device if not specified):

$ smlight-cc-flasher -ewv \
    [-d /dev/ttyUSB0] znp_LP_CC1352P7.hex

SLZB-06x over network:

$ smlight-cc-flasher -ewv \
    --host slzb-06.local [--port 6638] \
    znp_LP_CC1352P7.hex

or

$ smlight-cc-flasher -ewv \
    --device socket://10.42.0.2:6638 \
    znp_LP_CC1352P7.hex

SLZB-06P10 USB flash with network bootloader (currently SLZB authentication is not supported):

$ smlight-cc-flasher -ewv \
    --device /dev/ttyUSB0 --host slzb-06.local --m33 \
    znp_LP_CC1352P7.hex

Other notes

Bootloader settings from the new firmware are displayed before flashing. If the new firmware disables bootloader you are required to provide the --force flag to proceed with flashing.

For all the CC13xx and CC26xx families, the ROM bootloader is configured through the BL_CONFIG 'register' in CCFG. BOOTLOADER_ENABLE should be set to 0xC5 to enable the bootloader in the first place.

This is enough if the chip has not been programmed with a valid image. If a valid image is present, then the remaining fields of BL_CONFIG and the ERASE_CONF register must also be configured correctly:

  • Select a DIO by setting BL_PIN_NUMBER
  • Select an active level (low/high) for the DIO by setting BL_LEVEL
  • Enable 'failure analysis' by setting BL_ENABLE to 0xC5
  • Make sure the BANK_ERASE command is enabled: The BANK_ERASE_DIS_N bit in the ERASE_CONF register in CCFG must be set. BANK_ERASE is enabled by default.
Authors

Tim Lunn (c) 2024, tl@smlight.tech

Based on cc2358-bsl by:

Jelmer Tiete (c) 2014, jelmer@tiete.be

Loosely based on stm32loader by Ivan A-R ivan@tuxotronic.org

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smlight_cc_flasher-0.1.0.tar.gz (25.4 kB view hashes)

Uploaded Source

Built Distribution

smlight_cc_flasher-0.1.0-py3-none-any.whl (25.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page