@@ -6,60 +6,85 @@ Use this tool to update the firmware and/or add SSL certificates for any WINC, N
66
77You can download the Firmware/Certificates updater here:
88
9- https://github.com/arduino/FirmwareUploader /releases/latest
9+ https://github.com/arduino/arduino-fwuploader /releases/latest
1010
1111## Usage
1212
13- Extract the zip file and run (for example, NINA -> WiFi1010)
13+ ### Firmware Flashing
14+
15+ Extract the zip file and, to update a mkr 1010, run:
16+
17+ ```
18+ ./arduino-fwuploader firmware flash -b arduino:samd:mkrwifi1010 -a /dev/ttyACM0
19+ ```
20+
21+ You just have to specify the fqbn (` -b ` or ` --fqbn ` ) of the board and the serial port (` -a ` or ` --address ` ) The firmware
22+ uploader will take care of fetching everything is required to perform the update process. If no module and version are
23+ specified ** the latest version of the firmware** will be used.
24+
25+ If you want to flash a specific version of a firmware you can use the ` -m ` or ` --module ` flag
26+
27+ For example to flash a MKR1000 with 19.6.1 version of the firmware you can run something like:
1428
1529```
16- ./FirmwareUploader --flasher firmwares/NINA/FirmwareUpdater.mkrwifi1010.ino.bin -- firmware firmwares/NINA/1.2.1/NINA_W102.bin --port /dev/ttyACM0 --address arduino.cc:443 --restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin --programmer {runtime.tools.bossac}/bossac
30+ ./arduino-fwuploader firmware flash -b arduino:samd:mkr1000 -a /dev/ttyACM0 -m WINC1500@19.6.1
1731```
1832
19- To flash a MKR1000:
33+ There is also a retry mechanism bundled in the tool because the flashing process sometimes can be a bit unreliable. For
34+ example to update a Nano RP2040 Connect with the retry set to 2 you can use:
2035
2136```
22- ./FirmwareUploader --flasher firmwares/WINC1500/FirmwareUpdater.mkr1000.ino.bin -- firmware firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin --port /dev/ttyACM0 --address arduino.cc:443 --restore_binary /tmp/arduino_build_619137/WiFiSSLClient.ino.bin --programmer {runtime.tools.bossac}/bossac
37+ ./arduino-fwuploader firmware flash --fqbn arduino:mbed_nano:nanorp2040connect -a /dev/ttyACM0 --retries 2
2338```
2439
25- To update a MKRNB1500 :
40+ It's possible also to list the available firmwares for every board/module with :
2641
2742```
28- ./FirmwareUploader --flasher firmwares/SARA/SerialSARAPassthrough.ino.bin -- firmware firmwares/SARA/5.6A2.00-to-5.6A2.01.pkg --port /dev/ttyACM0 --restore_binary firmwares/SARA/SerialSARAPassthrough.ino.bin --programmer {runtime.tools.bossac}/bossac
43+ ./arduino-fwuploader firmware list
2944```
3045
31- To update a Nano RP2040 Connect:
46+ but you can also filter the results by specifying the ` -b ` or ` --fqbn ` flag
47+
48+ The tool offers the ability to print output in json, with the ` --format json `
49+
50+ ### Certificates
51+
52+ The tool offers also the ability to flash SSL certificates to a board:
3253
3354```
34- ./FirmwareUploader --flasher firmwares/NINA/FirmwareUpdater.nanorp2040connect.ino.elf --firmware firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin --port /dev/ttyACM0 --address arduino.cc:443 --programmer {runtime.tools.rp2040tools}/rp2040load
55+ /arduino-fwuploader flash -b arduino:samd:nano_33_iot" -a COM10 -u arduino.cc:443 -u google.cc:443
3556```
3657
58+ or you can specify a path to a file with ` -f `
59+
3760### Command line options
3861
39- The full list of command line options can be obtained with the ` -h ` option: ` ./FirmwareUploader -h `
62+ The full list of command line options can be obtained with the ` -h ` option: ` ./arduino-fwuploader -h `
4063
4164```
42- FirmwareUploader (FirmwareUploader ).
65+ Arduino Firmware Uploader (arduino-fwuploader ).
4366
4467Usage:
45- FirmwareUploader [flags ]
68+ arduino-fwuploader [command ]
4669
4770Examples:
48- ./FirmwareUploader <command> [flags...]
71+ ./arduino-fwuploader <command> [flags...]
72+
73+ Available Commands:
74+ certificates Commands to operate on certificates.
75+ firmware Commands to operate on firmwares.
76+ help Help about any command
77+ version Shows version number of arduino-fwuploader.
4978
5079Flags:
51- --address strings address (host:port) to fetch and flash root certificate for, multiple values allowed
52- --certs string root certificate directory
53- --firmware string firmware file to flash
54- --flasher string firmware upload binary (precompiled for the right target)
55- --get_available_for string Ask for available firmwares matching a given board
56- -h, --help help for FirmwareUploader
57- --model string module model (winc, nina or sara)
58- --port string serial port to use for flashing
59- --programmer string path of programmer in use (avrdude/bossac)
60- --read read all firmware and output to stdout
61- --restore_binary string binary to restore after the firmware upload (precompiled for the right target)
62- --retries int Number of retries in case of upload failure (default 9)
80+ --format string The output format, can be {text|json}. (default "text")
81+ -h, --help help for arduino-fwuploader
82+ --log-file string Path to the file where logs will be written
83+ --log-format string The output format for the logs, can be {text|json}.
84+ --log-level string Messages with this level and above will be logged. Valid levels are: trace, debug, info, warn, error, fatal, panic (default "info")
85+ -v, --verbose Print the logs on the standard output.
86+
87+ Use "arduino-fwuploader [command] --help" for more information about a command.
6388```
6489
6590## How to build the tools from source file
@@ -72,7 +97,7 @@ task dist:<OS>_<ARCH>
7297
7398Where <OS > could be one of: ` macOS ` ,` Windows ` ,` Linux ` . And <ARCH >: ` 32bit ` , ` 64bit ` , ` ARM ` or ` ARM64 `
7499
75- This will create the ` FirmwareUploader ` executable.
100+ This will create the ` arduino-fwuploader ` executable.
76101
77102## Security
78103
@@ -96,4 +121,4 @@ details.
96121You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the
97122Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
98123
99- [ security-policy ] : https://github.com/arduino/FirmwareUploader /security/policy
124+ [ security-policy ] : https://github.com/arduino/arduino-fwuploader /security/policy
0 commit comments