เตรียม folder และรวม file ของ Meadow OS และ DFU utils มาไว้ด้วยกัน ดังต่อไปนี้
working directory folder
PS C:\Meadow> ls
Directory: C:\Meadow
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2/11/2016 7:59 PM 178765 dfu-prefix.exe
-a---- 2/11/2016 7:59 PM 179276 dfu-suffix.exe
-a---- 2/12/2016 6:06 AM 10602 dfu-util-manual.pdf
-a---- 2/11/2016 8:00 PM 799602 dfu-util-static.exe
-a---- 2/11/2016 7:59 PM 290852 dfu-util.exe
-a---- 2/11/2016 5:09 PM 638611 libusb-1.0.dll
-a---- 4/4/2020 10:46 AM 2097152 Meadow.OS.bin
-a---- 2/12/2016 6:05 AM 896 README.txt
Lanuch PowerShell แล้วเข้าไปใน working directory ในตัวอย่างนี้คือ C:\Meadow หลังจากนั้นให้ใช้คำสั่ง dfu-util --list เพื่อหา board ของเรา
> .\dfu-util --list
ตัวอย่างผลลัพธ์การทำงาน
PS C:\Meadow> .\dfu-util.exe --list 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/
Found DFU: [0483:df11] ver=2200, devnum=6, cfg=1, intf=0, path="1-14", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="376A38773536"
Found DFU: [0483:df11] ver=2200, devnum=6, cfg=1, intf=0, path="1-14", alt=2, name="@OTP Memory /0x1FF0F000/01*001Ke,01*032 e", serial="376A38773536"
Found DFU: [0483:df11] ver=2200, devnum=6, cfg=1, intf=0, path="1-14", alt=1, name="@Option Bytes /0x1FFF0000/01*032 e", serial="376A38773536"
Found DFU: [0483:df11] ver=2200, devnum=6, cfg=1, intf=0, path="1-14", alt=0, name="@Internal Flash /0x08000000/04*032Kg,01*128Kg,07*256Kg", serial="376A38773536"
ให้ copy ค่า serial number ของ board ขอเราไปใช้ในขั้นตอนต่อไป ในตัวอย่างนี้ serial number ของเราคือ 376A38773536
เริ่ม upload OS ลง board โดยใช้คำสั่งต่อไปนี้
> .\dfu-util.exe -a 0 -S 376A38773536 -D Meadow.OS.bin -s 0x08000000
เมื่อการ upload เสร็จสิ้นสมบูรณ์จะมีข้อความว่า File downloaded successfully
ตัวอย่างผลลัพธ์การทำงาน
PS C:\Meadow> .\dfu-util.exe -a 0 -S 376A38773536 -D Meadow.OS.bin -s 0x08000000
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/
Invalid DFU suffix signature
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 [=========================] 100% 2097152 bytes
Download done.
File downloaded successfully
หลังจากนั้นให้เรากดปุ่ม Reset (RST) ที่ board เพื่อออกจาก Device Firmware Update mode และเข้าสู่ Meadow OS ตามปกติ
ต่อไปเราก็สามารถมาเริ่ม code กันได้แล้วครับ