Select Page

WINC1500

(UART Firmware Upgrade)

WINC1500 Doc

WINC1500 Upgrade Logs Blg

Upgrade Steps summary

  • Atmel Studio 7: Generate Upgrade Firmware Files
  • Module comms & power
  • Execute RESET sequence before flashing
  • Run upgrade batch file

 

Hardware Requirements:

  • USB to TTL UART Serial Converter (Eg: CP2102)
  • WINC1500 module preferably mounted and connected to host mcu. Must be powered.

 

NB Notes:

  • Atmel Studio is vital in generating the files that are all needed to perform the firmware upgrade
  • Atmel Studio Framework has lower versions to upgrade to other relevant firmware versions
  • If you considering implementing the WINC1500 in a design, add jumper pins to the UART RX/TX/GND pins to easily facilitate upgrading the WINC1500 modules firmware
  • Module upgrading can also be done via the host connected SPI interface and using the Atmel Studio 7 “Serial Bridge” example project as a guide
  • The actual firmware programming takes about 30 seconds to complete
  • This walkthrough upgraded a version 19.4.4 module to 19.6.1

 

Atmel Studio 7: Generate Upgrade Firmware Files

 

Ensure you have Atmel Studio 7 installed with the latest / relevant version of Atmel Studio Framework.

  • Select Extensions & updates icon on the toolbar

 

  • Click on “Updates” and then click on “Update” on the Atmel Software Framework to proceed

 

  • Wait for download to complete, install & restart

 

  • Click “New Example Project”

 

  • Select the framework version, enter a project name & location to save to

 

  • In the search box type “WINC1500 Firmware” then select the SAM D21 Xplained Pro option (don’t worry this creates a blank project with all the required firmware, documents & batch files

 

  • Accept the license agreement

 

  • Wait for the project to be created

 

  • Navigate on the PC and COPY the entire folder named “firmware” highlighted below to your “C:\” directory as is

 

Module comms & power

  • The WINC1500 module needs to be connected to the PC via a USB to TTL UART Serial converter (Eg: CP2102)
  • USB converter must be set up for 115200, N, 8, 1 on the PC
  • May need to remove any other COM devices plugged into PC
  • Connect to the PC using three wires (indicated below)
    • UART_RXD
    • UART TXD
    • GND

 

  • The module must be powered correctly with 3.3v to all relevant power & ALL ground pins
  • The “WAKE” pin kept high from power up (if controlled by host MCU)

 

 

                 

 

Execute RESET sequence before flashing

  • The WINC1500 module must be in the correct state to allow firmware upgrading
  • Reportedly some user “just left CHIP_EN high all the time, reset the board, didn’t do the last sequence as it requires an MCU, both the firmware and cert upgrade passed”
  • The functional code below indicates the timing of the respective signals
void WINC1500_Reset_Seq(void){

    WIFI_ENABLE_Clear();

    WIFI_RESET_Clear();

    vTaskDelay(1);              // 1mSec Delay

    WIFI_ENABLE_Set();

    vTaskDelay(10);            // 10mSec Delay

    WIFI_RESET_Set();  }



Run upgrade batch file

  • In Windows open a “Command Prompt” and be sure to run as administrator
  • Ensure the steps above were followed correctly and the generated “firmware” was copied to the “c:\”
  • Type “c:\firmware>download_all.bat UART SAMD21 3A0 0 0” then press “enter”

Runs autonomously without any user intervention. Below are the logs of a successful upgrade.

c:\firmware>download_all.bat UART SAMD21 3A0 0 0

Defaulting to RSA key cert pair @  and

Defaulting to ECDSA certificate @

Mode UART

Chip 3A0

Downloading Image... (pod 0) (comport )

image_downloader.exe    -no_wait        -aardvark 0     -vflash_path ../../../vflash_image_downloader.bin       -bf_bin  ../../../boot_firmware/release3A0/boot_firmware.bin       -pf_bin  ../../../programmer_firmware/release3A0/programmer_firmware.bin        -df_bin  ../../../downloader_firmware/release3A0/downloader_firmware.bin   -fw3a0_path ../../../firmware/m2m_aio_3a0.bin

********************************************

*  >Programmer for WINC1500 SPI Flash<     *

*      Owner:  Atmel Corporation           *

********************************************

SVN REV 16761 SVN BR branches/rel_1500_19.6.1
Built at May 23 2018    14:34:49
Virtual Flash Path ../../../vflash_image_downloader.bin
Firmware Path (3A0) ../../../firmware/m2m_aio_3a0.bin

>>Initialize programmer.

Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4

1 of ports found

(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0
>Waiting for chip permission...

OK.

Flash ID c21320c2
(APP)(INFO)Flash Size 4 Mb
>>Loading this FW: ../../../firmware/m2m_aio_3a0.bin


----- NOW Programming Firmware Image Version -----
Firmware ver   : 19.6.1 Svnrev 16761
Min driver ver : 19.3.0
Firmware Build May 23 2018 Time 14:39:16
----- Previous Firmware Image Version -----
Firmware ver   : 19.4.4 Svnrev 0
Min driver ver : 19.3.0
Firmware Build Nov 19 2015 Time 22:36:45

>Start erasing...
Done
#Erase time = 1.641000 sec

>Start programming...
Done

#Programming time = 20.172000 sec


(APP)(INFO)----------- BEGIN EFUSE DUMP ----------------
(APP)(INFO)(Efuse)Ver = 0,bank idx = 0,used = 1,invalid = 0
(APP)(INFO)(Efuse)Valid = 1,MAC = xxxxxxxxxxxxxxxxxx
(APP)(INFO)(Efuse)Valid = 0,PATxGainCorr = 00
(APP)(INFO)(Efuse)Valid = 1,FreqOffset = 0000
(APP)(INFO)------------- END EFUSE DUMP ----------------

>>Image downloaded successfully.
(APP)(INFO)----------- BEGIN EFUSE DUMP ----------------
(APP)(INFO)(Efuse)Ver = 0,bank idx = 0,used = 1,invalid = 0
(APP)(INFO)(Efuse)Valid = 1,MAC = xxxxxxxxxxxxxxxxxx
(APP)(INFO)(Efuse)Valid = 0,PATxGainCorr = 00
(APP)(INFO)(Efuse)Valid = 1,FreqOffset = 0000
(APP)(INFO)------------- END EFUSE DUMP ----------------

No nEfuse correction applied.
Saving vflash to ../../../vflash_image_downloader.bin
>>This task finished after 22.45 sec

        1 file(s) copied.


Downloading Gain Values...
gain_builder.exe        -table 1 ../gain_sheets/atwinc1500_mr210pb_gain_setting.csv  -index 1   -aardvark 0     
-vflash_path ../../../vflash_gain_builder.bin      -bf_bin  ../../../boot_firmware/release3A0/boot_firmware.bin    
-pf_bin  ../../../programmer_firmware/release3A0/programmer_firmware.bin        
-df_bin  ../../../downloader_firmware/release3A0/downloader_firmware.bin   
-no_wait
********************************************
*   >TX Gain Builder for WINCxxxx <        *
*      Owner:  Atmel Corporation           *
********************************************

SVN REV 16761 SVN BR branches/rel_1500_19.6.1
Built at May 23 2018    14:33:35
Virtual Flash Path ../../../vflash_gain_builder.bin

>>Init Programmer
Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found

(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

Flash ID c21320c2
(APP)(INFO)Flash Size 4 Mb

Reading vflash from ../../../vflash_gain_builder.bin
Active gain table index = 1
Setting file has been opened:
     "../gain_sheets/atwinc1500_mr210pb_gain_setting.csv"

Initializing values ....
>Extracting data from file...
Done

>Building tables...
Done
 ____________________________________________________________________________
|                               Table - 1                                    |
_____ _________ _________ _________ _________ _________ _________ _________

|CH/REG|00001240 |00001244 |00001248 |0000124C |00001250 |00001254 |00001258 |

|______|_________|_________|_________|_________|_________|_________|_________|

| 01   |01200143 |00000101 |00000000 |00000000 |11110000 |22221111 |00002222 |

| 02   |01C9016B |01430197 |00000000 |00000000 |11110000 |11110211 |00003021 |

| 03   |01C9016B |00000197 |00000000 |00000000 |11110000 |11110211 |00000221 |

| 04   |01C9016B |00000197 |00000000 |00000000 |11110000 |11110211 |00000211 |

| 05   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 06   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 07   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 08   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 09   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 10   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 11   |016B0143 |00000197 |00000000 |00000000 |11110000 |00001211 |00000000 |

| 12   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 13   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

| 14   |01C9016B |00000197 |00000000 |00000000 |11110000 |11112211 |00000211 |

|______|_________|_________|_________|_________|_________|_________|_________|

>Reading data...
Done.

>Start erasing...
Done

#Erase time = 0.047000 sec

>Start programming...
Done

#Programming time = 0.218000 sec


TX Gain values have been downloaded successfully.
Saving vflash to ../../../vflash_gain_builder.bin

>>This task finished after  0.72 sec
        1 file(s) copied.

Downloading TLS Client RSA Certificate Materials...
******************************************
*   WINC1500 TLS Certificate Flash Tool  *
******************************************
Reading vflash from ../../../vflash_tls_cert_flash_tool.bin
Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found

(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

TLS Certificate Store Update Success on Flash

Saving vflash to ../../../vflash_tls_cert_flash_tool.bin
Downloading TLS Client ECDSA Certificate Materials...
******************************************
*   WINC1500 TLS Certificate Flash Tool  *
******************************************
Reading vflash from ../../../vflash_tls_cert_flash_tool.bin
Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found
(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found
(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

TLS Certificate Store Update Success on Flash
Saving vflash to ../../../vflash_tls_cert_flash_tool.bin
        1 file(s) copied.

Downloading root certificates...
root_certificate_downloader.exe         -n 12  ..\binary\BaltimoreCyberTrustRoot.cer ..\binary\DigiCert.cer ..\binary\DigiCertSHA2.cer ..\binary\EnTrust.cer ..\binary\GeoTrust.cer ..\binary\GlobalSignRoot.cer ..\binary\GlobalSignRoot2.cer ..\binary\GTSGIAG3.cer ..\binary\NMA_Root.cer ..\binary\PROWL_Root.cer ..\binary\QuoVadis_Root.cer ..\binary\VeriSign.cer      -no_wait        -aardvark 0     -vflash_path ../../../vflash_root_certificate_downloader.bin    -bf_bin  ../../../boot_firmware/release3A0/boot_firmware.bin       -pf_bin  ../../../programmer_firmware/release3A0/programmer_firmware.bin        -df_bin  ../../../downloader_firmware/release3A0/downloader_firmware.bin   -e

**************************************************
* > WINC1500 Root Certificate Flash Downloader < *
*************************************************
SVN REV 16761 SVN BR branches/rel_1500_19.6.1
Built at May 23 2018    14:35:53
Virtual Flash Path ../../../vflash_root_certificate_downloader.bin

Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found
(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

Flash ID c21320c2
(APP)(INFO)Flash Size 4 Mb

Reading vflash from ../../../vflash_root_certificate_downloader.bin

>Start erasing...
Done

#Erase time = 0.063000 sec



>>>Found Certificate:
>>>     Baltimore CyberTrust Root

>Start erasing...
Done

#Erase time = 0.031000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.218000 sec
Done

>>>Found Certificate:
>>>     DigiCert High Assurance EV Root CA

>Start erasing...
Done

#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.219000 sec

Done


>>>Found Certificate:
>>>     DigiCert SHA2 High Assurance Server CA
>Start erasing...
Done
#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.234000 sec

Done



>>>Found Certificate:
>>>     Entrust Root Certification Authority
>Start erasing...
Done

#Erase time = 0.062000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.234000 sec

Done


>>>Found Certificate:
>>>     GeoTrust Global CA
>Start erasing...
Done

#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.234000 sec

Done




>>>Found Certificate:
>>>     GlobalSign Root CA
>Start erasing...
Done

#Erase time = 0.063000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done
#Programming time = 0.218000 sec

Done




>>>Found Certificate:
>>>     GlobalSign
>Start erasing...
Done

#Erase time = 0.062000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.219000 sec

Done


>>>Found Certificate:
>>>     Google Internet Authority G3
>Start erasing...
Done

#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.218000 sec

Done




>>>Found Certificate:
>>>     AddTrust External CA Root
>Start erasing...
Done
#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.235000 sec

Done




>>>Found Certificate:
>>> 
>Start erasing...

Done

#Erase time = 0.046000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.235000 sec

Done




>>>Found Certificate:
>>>     QuoVadis Root CA 2
>Start erasing...
Done

#Erase time = 0.047000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.250000 sec

Done




>>>Found Certificate:
>>>     VeriSign Class 3 Public Primary Certification Authority - G5
>Start erasing...
Done

#Erase time = 0.063000 sec

>Writing the certificate to SPI flash...
>Start programming...
Done

#Programming time = 0.234000 sec



Done
All certificates have been downloaded
Saving vflash to ../../../vflash_root_certificate_downloader.bin



>>This task finished after  6.19 sec

 Readback flash... (pod 0) (comport )
image_cloner.exe        -no_wait        -span 524288    -aardvark 0     -out_path ../../../readback_flash.bin
********************************************
*  >Programmer for WINC1500 SPI Flash<     *
*      Owner:  Atmel Corporation           *
********************************************
SVN REV 16761 SVN BR branches/rel_1500_19.6.1
Built at May 23 2018    14:35:16
File to save copy of flash path ../../../readback_flash.bin
>>Initialize programmer.
Detecting ports...
(APP)(INFO)Built-in WINC1500 UART Found
Avail port COM4
1 of ports found

(APP)(INFO)Built-in WINC1500 UART Found
Chip id 1503a0

>Waiting for chip permission...
OK.

Flash ID c21320c2
(APP)(INFO)Flash Size 4 Mb

Retrieving flash image... ../../../readback_flash.bin
Wrote flash image to ../../../readback_flash.bin

Verifing...
*************** Flash programming verified OK *****************
*************** Download worked *****************
OK

##########################################################################  ##

##                 ########            ###            ######             ######                                              ##

##                 ##             ##      ## ##        ##           ##       ##         ##                                           ##

##                 ##             ##    ##       ##    ##                      ##                                                         ##

##                 ########       ##          ##    ######              ######                                                 ##

##                 ##                   #########              ##                        ##                                             ##

##                 ##                   ##            ##  ##       ##          ##         ##                                             ##

##                 ##                   ##            ##   ######               ######                                               ##

##                                                                                                                                                      ##

#######################################################################

Downloading ends successfully

Press any key to continue . . .

c:\firmware>