After building Meadow using the ./build.sh command, put the Meadow-F7Micro board in DFU mode and run:
$ meadow firmware write -f nuttx/Meadow.OS.bin
This is the output of the command:
Writing firmware file '/Meadow/nuttx/Meadow.OS.bin'...
DFU Device Detected - using DFU to write OS
Flashing OS with /home/alan/.local/share/WildernessLabs/Firmware/1.9.0.0/Meadow.OS.bin
dfu-util update required - to update , run: `apt upgrade dfu-util` or the equivalent for your Linux distribution
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 2097152
Download done. [=========================] 100% 2097152 bytes
File downloaded successfully
Transitioning to dfuMANIFEST state
[null]
Meadow found at /dev/ttyACM0
After it is flashed reset the board and run the command to flash the Runtime:
$ meadow firmware write -f nuttx/Meadow.OS.Runtime.bin
You should see these update messages:
Writing firmware file '/Meadow/nuttx/Meadow.OS.Runtime.bin'...
Writing runtime...
Writing Meadow.OS.Runtime.bin: 10%
Writing Meadow.OS.Runtime.bin: 20%
Writing Meadow.OS.Runtime.bin: 30%
Writing Meadow.OS.Runtime.bin: 40%
Writing Meadow.OS.Runtime.bin: 50%
Writing Meadow.OS.Runtime.bin: 60%
Writing Meadow.OS.Runtime.bin: 70%
Writing Meadow.OS.Runtime.bin: 80%
Writing Meadow.OS.Runtime.bin: 90%
Writing Meadow.OS.Runtime.bin: 100%
Download of 'Meadow.OS.Runtime.bin' success (checksums calculated:0x872C39C6, expected:0x872C39C6)
Erasing mono flash memory
Mono memory erase success
Flashing 10% complete
Flashing 20% complete
Flashing 30% complete
Flashing 40% complete
Flashing 50% complete
Flashing 60% complete
Flashing 70% complete
Flashing 80% complete
Flashing 90% complete
Verifying runtime flash operation.
Verifying 10% complete
Verifying 20% complete
Verifying 30% complete
Verifying 40% complete
Verifying 50% complete
Verifying 60% complete
Verifying 70% complete
Verifying 80% complete
Verifying 90% complete
Mono runtime successfully flashed.
The operation has timed out.