diff --git a/Zigbee.md b/Zigbee.md index af406cea..361cb44b 100644 --- a/Zigbee.md +++ b/Zigbee.md @@ -113,6 +113,21 @@ The CC2530 requires `Z-Stack_Home_1.2`, of type `Default` (not `Source Routing`) [ ] DMA_PAUSE [ ] TIMER_SUSPEND ``` + + If your CC2530 is DEBUG_LOCKED, then the flash size will be incorrectly reported as 16kB, which is not big enough + to fit the Z-Stack firmware. To fix this you need to erase the chip, which can be done as part of flashing the chip. + So you will need a 16kb file to flash. The easiest way is to read the existing flash, then re-flash it, using the + erase option to erase the chip. + + ``` + python Python/cc_read_flash.py -p /dev/cu.usbserial-xxx -o x.hex + python Python/cc_write_flash.py --erase -p /dev/cu.usbserial-xxx -i x.hex + ``` + Check for connectivity again using: + + `python Python/cc_info.py -p ` + + and you should see the correct flash size reported. 4. Flash the firmware using the following command: _Flashing the CC2530 **takes about 30 minutes**_ @@ -121,16 +136,6 @@ The CC2530 requires `Z-Stack_Home_1.2`, of type `Default` (not `Source Routing`) python Python/cc_write_flash.py -e -p /dev/cu.usbserial-xxx -i Bin/CC2530_DEFAULT_20190608_CC2530ZNP-Prod.hex ``` - If you get a message about the flash size not being big enough, this will be because the CC2530 is Debug Locked. This - limits the ability of certain commands to report the true flash size. To fix this you need to erase the chip, which can - be done as part of flashing the chip. So you will need a 16kb file to flash. The easiest way is to read the existing - flash, then re-flash it, using the erase option to erase the chip. - - ``` - python Python/cc_read_flash.py -p /dev/cu.usbserial-xxx -o x.hex - python Python/cc_write_flash.py --erase -p /dev/cu.usbserial-xxx -i x.hex - ``` - ``` INFO: Found a CC2530 chip on /dev/cu.usbserial-xxxx