1.2.1 WINC Firmware Update Guide
This document explains the WINC Firmware Upgrade Process.
Description
User has to follow below steps to update the WINC module firmware • From the 'wireless_wifi' repo, at 'wireless_wifi\apps\serial_bridge' program the serial bridge application. • The application will put host device in serial bridge mode, where it will take the WINC module image from laptop utility and program into WINC module.
Note: Programming the application into SAMA5D27 SOM1-Ek1 board
On SAMA5D27 SOM1-Ek1 board, the Serial Bridge application will be programmed into the RAM unlike the previous devices where it would be on the host's flash. It is therefore recommended to not reset the board after programming the application until the firmware upgrade is complete.
Below example shows a SAMD21 Xplained connected to WINC1500 Xplained on EXT1 for upgrading the WINC15x0 module firmware.
Firmware Update Utilities
Updating a WINC device requires two utilities, an Image Tool which builds a file containing the changes required to the WINCs flash memory and a WINC Programming Tool which applies the changes to the WINC device.
Image Tool
The configuration file, config.txt, is in the winc1500_19.7.7 directory. There are three subdirectories in this release: • Firmware – contains firmware which runs on the WINC device. • HTTP Files – contains files which are loaded into the HTTP web server made available by the WINC device when it enters a provisioning Soft-AP mode.
User can modify the config.txt file to add/remove devices certificate and customize the provisioning page.
type is root certificates schema is 2 size is 4K default is 0xff
file is /utilities/wifi/wincroot_certs/BaltimoreCyberTrustRoot.cer
file is /utilities/wifi/wincroot_certs/DigiCert.cer
file is /utilities/wifi/wincroot_certs/DigiCertSHA2.cer
file is /utilities/wifi/wincroot_certs/EnTrust.cer
file is /utilities/wifi/winc/root_certs/GeoTrust.cer
file is /utilities/wifi/winc/root_certs/GlobalSignRoot.cer
file is /utilities/wifi/winc/root_certs/cas.cer
file is /utilities/wifi/winc/root_certs/caswin.cer
file is /utilities/wifi/winc/root_certs/QuoVadis_Root.cer
file is /utilities/wifi/winc/root_certs/VeriSign.cer
Generating Device Programming Files
The following command line will generate a device programming file winc1500_19.6.1.prog.
image_tool.exe -c (version)\flash_image.config -o (version).prog -of prog
The file produced can be used to upgrade a WINC1500 to available or latest version including the firmware, HTTP files and root certificates.
WINC Programmer
The WINC Programmer is responsible for reading, erasing and writing the flash memory of the WINC device. A device programming file can be provided to the tool to update the flash memory contents. The WINC Programmer is located in the /utilities/wifi/winc directory.
Programming Device
The following command line will program a WINC1500 device via the serial port COM29.
winc_programmer -p COM29 -d winc1500 -i (version).prog -if prog -w -r -pfw (version)\firmware\programmer_firmware.bin
Output:
WINC Programming Tool 1.0.0 (Jun 27 2018)
Copyright (C) Microchip Technology Inc. 2018
WINC serial bridge found
chip ID is 0x001503a0
starting device
reinitialise serial bridge to 500000
waiting for firmware to run
flash ID 0x001440ef
flash size is 8 Mb
begin write operation
0x000000: 0x008000: 0x010000: 0x018000: 0x020000: 0x028000: 0x030000: 0x038000: 0x040000: 0x048000: 0x050000: 0x058000: 0x060000: 0x068000: 0x070000: 0x078000: 0x080000: 0x088000: 0x090000: 0x098000: 0x0a0000: 0x0a8000: 0x0b0000: 0x0b8000: 0x0c0000: 0x0c8000: 0x0d0000: 0x0d8000: 0x0e0000: 0x0e8000: 0x0f0000: 0x0f8000:
begin read operation
0x000000: 0x008000: 0x010000: 0x018000: 0x020000: 0x028000: 0x030000: 0x038000: 0x040000: 0x048000: 0x050000: 0x058000: 0x060000: 0x068000: 0x070000: 0x078000: 0x080000: 0x088000: 0x090000: 0x098000: 0x0a0000: 0x0a8000: 0x0b0000: 0x0b8000: 0x0c0000: 0x0c8000: 0x0d0000: 0x0d8000: 0x0e0000: 0x0e8000: 0x0f0000: 0x0f8000:
verify range 0x000000 to 0x100000
begin verify operation
0x000000: 0x008000: 0x010000: 0x018000: 0x020000: 0x028000: 0x030000: 0x038000: 0x040000: 0x048000: 0x050000: 0x058000: 0x060000: 0x068000: 0x070000: 0x078000: 0x080000: 0x088000: 0x090000: 0x098000: 0x0a0000: 0x0a8000: 0x0b0000: 0x0b8000: 0x0c0000: 0x0c8000: 0x0d0000: 0x0d8000: 0x0e0000: 0x0e8000: 0x0f0000: 0x0f8000:
verify passed
Conclusion
Once verified, the Firmware has been updated. The WINC module now contains the updated Firmware and it can be used with any other application of choice.