Super Star
Posts: 8
Registered: ‎10-08-2015

Gecko Bootloader - ZNet 5.10

I try to make a simple zigbee application with gecko bootloader to test zigbee OTA process.


- base board :  PCB4001 Rev A03

- module : BRD 4150A Rev. B01



- Simplicity Studio Platform 4.1.6

- ZNet stack 5.10.0 from gecko sdk suite v1.1

- Gecko Bootloader 1.1.0 from gecko sdk suite v1.1


1/ Create a gecko bootloader project from example : SPI Flash Storage Bootloader (multiple images)

generate build and flash "bootloader-storage-spiflash-combined.s37"


2/ Create an OTAClient project from blank application (cf AN728-ota-client-server-setup.pdf)

With modification : adding Slot Manager plugin and enable "Use first slot" for option Gecko Bootloader Storage Support of plugin OTA Simple Storage EEPROM Driver

Generate build and flash


3/ launch console and obtain in serial 1 tab :


[ASSERTRobot surprisedta-storage-eeprom.c:181]
Reset info: 0x07 (CRS)
Extended Reset info: 0x0701 (AST)
Thread mode using main stack (200053A0 to 20005D08), SP = 20005C00
736 bytes used (31%) in main stack (out of 2408 bytes total)
No interrupts active
Reset cause: Assert ota-storage-eeprom.c:181
R0 = 0002EFE0, R1 = 000000B5, R2 = 00000000, R3 = 00000002
R4 = 200071C0, R5 = 000324D8, R6 = 00000004, R7 = 000324C4
R8 = 00000000, R9 = 00000000, R10 = 00000000, R11 = 00000000
R12 = 20006C94, R13(LR) = FFFFFFF9, MSP = 20005C00, PSP = 20005D08
PC = 00008E9C, xPSR = 41000000, MSP used = 000002E0, PSP used = 00000000
CSTACK bottom = 200053A0, ICSR = 00418806, SHCSR = 00070008, INT_ACTIVE0 = 00000000
INT_ACTIVE1 = 00000000, CFSR = 00010000, HFSR = 00000000, DFSR = 00000000
MMAR/BFAR = E000ED34, AFSR = 00000000, Ret0 = 0000546D, Ret1 = 00008EC7
Ret2 = 000217BF, Ret3 = 0002063D, Ret4 = 00021111, Ret5 = 00007F7F
Dat0 = 0002EFE0, Dat1 = 000000B5
EEPROM init: 0x86
Slot Manager: failed to initialize bootloader (error 0x00000101)
OTA Simple Storage EEPROM: Gecko bootloader not found on device. Defaulting to using specified address offsets



Why ?


ps: I join the two isd files for bootloader and client app.

Super Star
Posts: 8
Registered: ‎10-08-2015

Re: Gecko Bootloader - ZNet 5.10

I try example UG267, and I can now launch consol and connect to target without error.

But I obtain error whane I try to query status of external flash :


SwitchedMultiprotocolJoiningDeviceSoc>plugin slot-manager ext-flash-info
Slot Manager: failed to initialize bootloader (error 0x00000101)
SwitchedMultiprotocolJoiningDeviceSoc>plugin slot-manager slots-info
Slot Manager: failed to initialize bootloader (error 0x00000101)



I have a similar error with commander when I want to flash an upgrade file :


C:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander>commander.exe extflash write zigbee_upgrade_signed.gbl --address 0x41000

Flashing 210828 bytes to 0x00041000 on external flash.
Resetting target...
Uploading flashloader...
Waiting for flashloader to become ready...
ERROR: Writing 210828 bytes to 0x00041000 on external flash failed
ERROR: The external flash is not supported.



I use module BRD4150A Rev . B01 with an EFR32MG1P233

Super Star
Posts: 8
Registered: ‎10-08-2015

Re: Gecko Bootloader - ZNet 5.10

I investigate and have strange behavior : when I toggle pin PA4 (flash CS) it tobble P4 on the 4001A main board in place of P14.

So I stop to use this module and make a new test with BRD4160A (Thunderboard Sense) and it work's fine.

External flash is correctly recognise and bootload from ext. flash to main flash using CLI work.

Now I try to do a OTA Zigbee bootload using Raspberry Pi2 gateway (UG129).


Super Star
Posts: 8
Registered: ‎10-08-2015

Re: Gecko Bootloader - ZNet 5.10

Next step, .. next error

I build a new firmware with firmware +1 OTA Bootloader Cluster Client Polivy plugin.

simplicity studio generate an ota file. I put this file in /opt/siliconlabs/zigbeegateway/ota_staging directory of my silicon labs zigbee HA gateway.

And my product download new firmware and at the end of download I obtain an error BUT what it mean's ?

I ppast log from my device using CLI interface :


Download: 100% complete
Bootload state: Verifying Image
Last offset downloaded: 0x0003A03E
No signature verification support, assuming image is okay.
Starting EBL verification
EBL failed verification.
Custom verification FAILED: 0x01
Download failed.
Starting erase from offset 0x00002000 to 0x00041000
Deleting failed download, status: 0x04
Sending Upgrade End request.
Bootload state: Querying Next Image