Some time ago I received a Wio terminal from Seeed and I remember thinking “great, finally a decent colour display system, cased, with decent IO capability – but why didn’t they put a battery in it?”. Well, now they have – or rather they have brought out a plug-in battery pack (650maH Lithium) – not only that but it has a status LED, four Grove analog/digital ports, a Grove I2C port and a Grove UART port built in – all in an ABS enclosure like that of the Terminal itself.
Finally the battery pack (underside of the 3-photo set at the top of this blog entry) has a USB-C input connector for charging though I note it doesn’t seem to do fast-charge, just normal 5v USB charging. You can however use the supply with the WIO terminal while it is charging, so perhaps that’s no big loss.
The Wio Terminal product already has two multi-function Grove connectors and that too uses USB-C for power (not needed when the battery pack is in use). While I’m here, the Wio terminal has a lovely colour display, 5-way control switch, combined power/reset switch, three user-programmable buttons and a micro-SD card slot.
At this point I’ll send interested users over to the Seeed site for more specs on both products and details of the significant range of Grove boards and their 10-way Grove shield for the Raspberry Pi Pico which also just arrived.
Elsewhere I’ve written about the RPi Pico and the Grove Shield product.
Meanwhile the Seed website is comprehensive and in English so – if any of this appeals to you – read on… and here for the battery pack…
Of interest, the whole lot came well packaged – how long and at what postal cost – well, that depends where you live.
My only question now is – what do you DO with a product like this.. unlike the M5Stack products it is not based on ESP32 so you can’t easily put Tasmota on it. It uses ARM Cortex-M4F (Microchip ATSAMD51P19), 4MB external FLASH, 192KB RAM – but as many of you will know, most 3rd party free firmware is oriented to the ESP32 and ESP8266 chips… so I’m not sure what to do with this one.
As above, the Seeed Wio Terminal includes a Cortex-M4 microcontroller, motion sensors, an LCD display, and Grove connectors to easily connect external sensors.
It is tempting to compare this to the M5Stack Core2 which CAN be Tasmotised but is more expensive. The M5Stack unit also contains an internal battery) as against the backpack for the WIO Terminal.
Of course you can hook up the Seeed Studio product to the Arduino development environment but it’s all down to finding decent examples including display use.
SO – off I went here – to get the ambd_flash_tool – the instructions are incorrect for running the tool – I had to start with .\ambd_flash_tool.exe erase”
Once the software on the WIO Terminal was updated – Windows Powershell said “All images were sent successfully. Image tools closed. The WIO Terminal however simply sat there with a message “Burn RTL8720 fw”. Next: “./ambd_flash_tool.exe flash”
But once all that was done – the terminal STILL said “Burn RTL8720 fw” – so I faithfully followed the instructions, downloaded the latest firmware and..
[==============================] 100% (124/124 pages)
Verify successful
Done in 1.404 seconds
writeWord(addr=0xe000ed0c,value=0x5fa0004)
wait…
wait…
wait…
c:\users\user\downloads\20210519-seeed-ambd-firmware-rpc-v2.1.3.zip\km0_boot_all.bin not exists!
PS C:\Users\User\ambd_flash_tool>
Good…..not…
wait…
wait…
c:\users\user\downloads\km0_boot_all.bin\km0_boot_all.bin not exists!
PS C:\Users\User\ambd_flash_tool> .\ambd_flash_tool.exe flash -d c:\users\user\downloads\km0_boot_all.bin
Oh yes it DOES exist – but the flasher is not having it.
So – I started again:
COM14
MODE COM14:BAUD=%d PARITY=N DATA=8
Status for device COM14:
------------------------
Baud: 1200
Parity: None
Data Bits: 8
Stop Bits: 1
Timeout: OFF
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: OFF
RTS circuit: ON
Set binary mode
version()=v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
Connected at 921600 baud
readWord(addr=0)=0x2000d6a0
readWord(addr=0xe000ed00)=0x410fc241
readWord(addr=0x4)=0x56d
readWord(addr=0x41002018)=0x60060001
write(addr=0x20004000,size=0x34)
writeWord(addr=0x20004030,value=0x80)
writeWord(addr=0x20004020,value=0x20008000)
version()=v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
readByte(addr=0x804000)=0xb9
readByte(addr=0x804001)=0x92
readByte(addr=0x804008)=0xff
readByte(addr=0x804009)=0xff
readByte(addr=0x80400a)=0xff
readByte(addr=0x80400b)=0xff
Device : ATSAMD51x19
Version : v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
Address : 0x0
Pages : 1024
Page Size : 512 bytes
Total Size : 512KB
Planes : 1
Lock Regions : 32
Locked : none
Security : false
BOD : false
BOR : true
Write 63104 bytes to flash (124 pages)
[ ] 0% (0/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x4000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x4000, size=0x1000)
[= ] 6% (8/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x5000, size=0x1000)
[=== ] 12% (16/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x6000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x6000, size=0x1000)
[===== ] 19% (24/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x7000, size=0x1000)
[======= ] 25% (32/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x8000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x8000, size=0x1000)
[========= ] 32% (40/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x9000, size=0x1000)
[=========== ] 38% (48/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xa000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xa000, size=0x1000)
[============= ] 45% (56/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xb000, size=0x1000)
[=============== ] 51% (64/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xc000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xc000, size=0x1000)
[================= ] 58% (72/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xd000, size=0x1000)
[=================== ] 64% (80/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xe000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xe000, size=0x1000)
[===================== ] 70% (88/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xf000, size=0x1000)
[======================= ] 77% (96/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x10000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x10000, size=0x1000)
[========================= ] 83% (104/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x11000, size=0x1000)
[=========================== ] 90% (112/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x12000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x12000, size=0x1000)
[============================= ] 96% (120/124 pages)write(addr=0x20004034,size=0x800)
writeBuffer(scr_addr=0x20004034, dst_addr=0x13000, size=0x800)
[==============================] 100% (124/124 pages)
Done in 1.134 seconds
Verify 63104 bytes of flash
checksumBuffer(start_addr=0x4000, size=0x200) = 3ac3
checksumBuffer(start_addr=0x4200, size=0x200) = a55d
read(addr=0x4200,size=0x200)
checksumBuffer(start_addr=0x4400, size=0x200) = 9a9c
read(addr=0x4400,size=0x200)
checksumBuffer(start_addr=0x4600, size=0x200) = bc03
read(addr=0x4600,size=0x200)
checksumBuffer(start_addr=0x4800, size=0x200) = a7fd
read(addr=0x4800,size=0x200)
[= ] 4% (5/124 pages)checksumBuffer(start_addr=0x4a00, size=0x200) = 2e2e
read(addr=0x4a00,size=0x200)
[= ] 4% (6/124 pages)checksumBuffer(start_addr=0x4c00, size=0x200) = 2bcb
read(addr=0x4c00,size=0x200)
[= ] 5% (7/124 pages)checksumBuffer(start_addr=0x4e00, size=0x200) = ef8e
read(addr=0x4e00,size=0x200)
[= ] 6% (8/124 pages)checksumBuffer(start_addr=0x5000, size=0x200) = c037
read(addr=0x5000,size=0x200)
[== ] 7% (9/124 pages)checksumBuffer(start_addr=0x5200, size=0x200) = dc20
read(addr=0x5200,size=0x200)
[== ] 8% (10/124 pages)checksumBuffer(start_addr=0x5400, size=0x200) = 7109
read(addr=0x5400,size=0x200)
[== ] 8% (11/124 pages)checksumBuffer(start_addr=0x5600, size=0x200) = 1a1a
read(addr=0x5600,size=0x200)
[== ] 9% (12/124 pages)checksumBuffer(start_addr=0x5800, size=0x200) = 5e68
read(addr=0x5800,size=0x200)
[=== ] 10% (13/124 pages)checksumBuffer(start_addr=0x5a00, size=0x200) = 2007
read(addr=0x5a00,size=0x200)
[=== ] 11% (14/124 pages)checksumBuffer(start_addr=0x5c00, size=0x200) = d7b7
read(addr=0x5c00,size=0x200)
[=== ] 12% (15/124 pages)checksumBuffer(start_addr=0x5e00, size=0x200) = 26a2
read(addr=0x5e00,size=0x200)
[=== ] 12% (16/124 pages)checksumBuffer(start_addr=0x6000, size=0x200) = 76ba
read(addr=0x6000,size=0x200)
[==== ] 13% (17/124 pages)checksumBuffer(start_addr=0x6200, size=0x200) = 412
read(addr=0x6200,size=0x200)
[==== ] 14% (18/124 pages)checksumBuffer(start_addr=0x6400, size=0x200) = d721
read(addr=0x6400,size=0x200)
[==== ] 15% (19/124 pages)checksumBuffer(start_addr=0x6600, size=0x200) = 5bb5
read(addr=0x6600,size=0x200)
[==== ] 16% (20/124 pages)checksumBuffer(start_addr=0x6800, size=0x200) = 8b1a
read(addr=0x6800,size=0x200)
[===== ] 16% (21/124 pages)checksumBuffer(start_addr=0x6a00, size=0x200) = 953b
read(addr=0x6a00,size=0x200)
[===== ] 17% (22/124 pages)checksumBuffer(start_addr=0x6c00, size=0x200) = 7b70
read(addr=0x6c00,size=0x200)
[===== ] 18% (23/124 pages)checksumBuffer(start_addr=0x6e00, size=0x200) = 7175
read(addr=0x6e00,size=0x200)
[===== ] 19% (24/124 pages)checksumBuffer(start_addr=0x7000, size=0x200) = 97e2
read(addr=0x7000,size=0x200)
[====== ] 20% (25/124 pages)checksumBuffer(start_addr=0x7200, size=0x200) = 5510
read(addr=0x7200,size=0x200)
[====== ] 20% (26/124 pages)checksumBuffer(start_addr=0x7400, size=0x200) = cbf8
read(addr=0x7400,size=0x200)
[====== ] 21% (27/124 pages)checksumBuffer(start_addr=0x7600, size=0x200) = 63d
read(addr=0x7600,size=0x200)
[====== ] 22% (28/124 pages)checksumBuffer(start_addr=0x7800, size=0x200) = 7b3c
read(addr=0x7800,size=0x200)
[======= ] 23% (29/124 pages)checksumBuffer(start_addr=0x7a00, size=0x200) = cd19
read(addr=0x7a00,size=0x200)
[======= ] 24% (30/124 pages)checksumBuffer(start_addr=0x7c00, size=0x200) = 1ecf
read(addr=0x7c00,size=0x200)
[======= ] 25% (31/124 pages)checksumBuffer(start_addr=0x7e00, size=0x200) = f1b3
read(addr=0x7e00,size=0x200)
[======= ] 25% (32/124 pages)checksumBuffer(start_addr=0x8000, size=0x200) = 8069
read(addr=0x8000,size=0x200)
[======= ] 26% (33/124 pages)checksumBuffer(start_addr=0x8200, size=0x200) = 657b
read(addr=0x8200,size=0x200)
[======== ] 27% (34/124 pages)checksumBuffer(start_addr=0x8400, size=0x200) = db3e
read(addr=0x8400,size=0x200)
[======== ] 28% (35/124 pages)checksumBuffer(start_addr=0x8600, size=0x200) = fb9d
read(addr=0x8600,size=0x200)
[======== ] 29% (36/124 pages)checksumBuffer(start_addr=0x8800, size=0x200) = e443
read(addr=0x8800,size=0x200)
[======== ] 29% (37/124 pages)checksumBuffer(start_addr=0x8a00, size=0x200) = 8471
read(addr=0x8a00,size=0x200)
[========= ] 30% (38/124 pages)checksumBuffer(start_addr=0x8c00, size=0x200) = 4c89
read(addr=0x8c00,size=0x200)
[========= ] 31% (39/124 pages)checksumBuffer(start_addr=0x8e00, size=0x200) = eb03
read(addr=0x8e00,size=0x200)
[========= ] 32% (40/124 pages)checksumBuffer(start_addr=0x9000, size=0x200) = b3dc
read(addr=0x9000,size=0x200)
[========= ] 33% (41/124 pages)checksumBuffer(start_addr=0x9200, size=0x200) = a9c9
read(addr=0x9200,size=0x200)
[========== ] 33% (42/124 pages)checksumBuffer(start_addr=0x9400, size=0x200) = ad31
read(addr=0x9400,size=0x200)
[========== ] 34% (43/124 pages)checksumBuffer(start_addr=0x9600, size=0x200) = 1262
read(addr=0x9600,size=0x200)
[========== ] 35% (44/124 pages)checksumBuffer(start_addr=0x9800, size=0x200) = 5383
read(addr=0x9800,size=0x200)
[========== ] 36% (45/124 pages)checksumBuffer(start_addr=0x9a00, size=0x200) = 41d9
read(addr=0x9a00,size=0x200)
[=========== ] 37% (46/124 pages)checksumBuffer(start_addr=0x9c00, size=0x200) = 8748
read(addr=0x9c00,size=0x200)
[=========== ] 37% (47/124 pages)checksumBuffer(start_addr=0x9e00, size=0x200) = a9f9
read(addr=0x9e00,size=0x200)
[=========== ] 38% (48/124 pages)checksumBuffer(start_addr=0xa000, size=0x200) = 4766
read(addr=0xa000,size=0x200)
[=========== ] 39% (49/124 pages)checksumBuffer(start_addr=0xa200, size=0x200) = da8f
read(addr=0xa200,size=0x200)
[============ ] 40% (50/124 pages)checksumBuffer(start_addr=0xa400, size=0x200) = 53be
read(addr=0xa400,size=0x200)
[============ ] 41% (51/124 pages)checksumBuffer(start_addr=0xa600, size=0x200) = 54f3
read(addr=0xa600,size=0x200)
[============ ] 41% (52/124 pages)checksumBuffer(start_addr=0xa800, size=0x200) = 4498
read(addr=0xa800,size=0x200)
[============ ] 42% (53/124 pages)checksumBuffer(start_addr=0xaa00, size=0x200) = 8edb
read(addr=0xaa00,size=0x200)
[============= ] 43% (54/124 pages)checksumBuffer(start_addr=0xac00, size=0x200) = 8304
read(addr=0xac00,size=0x200)
[============= ] 44% (55/124 pages)checksumBuffer(start_addr=0xae00, size=0x200) = 8f09
read(addr=0xae00,size=0x200)
[============= ] 45% (56/124 pages)checksumBuffer(start_addr=0xb000, size=0x200) = d30
read(addr=0xb000,size=0x200)
[============= ] 45% (57/124 pages)checksumBuffer(start_addr=0xb200, size=0x200) = e59c
read(addr=0xb200,size=0x200)
[============== ] 46% (58/124 pages)checksumBuffer(start_addr=0xb400, size=0x200) = cd24
read(addr=0xb400,size=0x200)
[============== ] 47% (59/124 pages)checksumBuffer(start_addr=0xb600, size=0x200) = c0b7
read(addr=0xb600,size=0x200)
[============== ] 48% (60/124 pages)checksumBuffer(start_addr=0xb800, size=0x200) = f9c
read(addr=0xb800,size=0x200)
[============== ] 49% (61/124 pages)checksumBuffer(start_addr=0xba00, size=0x200) = 4906
read(addr=0xba00,size=0x200)
[=============== ] 50% (62/124 pages)checksumBuffer(start_addr=0xbc00, size=0x200) = 5640
read(addr=0xbc00,size=0x200)
[=============== ] 50% (63/124 pages)checksumBuffer(start_addr=0xbe00, size=0x200) = b98b
read(addr=0xbe00,size=0x200)
[=============== ] 51% (64/124 pages)checksumBuffer(start_addr=0xc000, size=0x200) = 56c5
read(addr=0xc000,size=0x200)
[=============== ] 52% (65/124 pages)checksumBuffer(start_addr=0xc200, size=0x200) = 9807
read(addr=0xc200,size=0x200)
[=============== ] 53% (66/124 pages)checksumBuffer(start_addr=0xc400, size=0x200) = c0a9
read(addr=0xc400,size=0x200)
[================ ] 54% (67/124 pages)checksumBuffer(start_addr=0xc600, size=0x200) = 4d81
read(addr=0xc600,size=0x200)
[================ ] 54% (68/124 pages)checksumBuffer(start_addr=0xc800, size=0x200) = 2334
read(addr=0xc800,size=0x200)
[================ ] 55% (69/124 pages)checksumBuffer(start_addr=0xca00, size=0x200) = b299
read(addr=0xca00,size=0x200)
[================ ] 56% (70/124 pages)checksumBuffer(start_addr=0xcc00, size=0x200) = 60fc
read(addr=0xcc00,size=0x200)
[================= ] 57% (71/124 pages)checksumBuffer(start_addr=0xce00, size=0x200) = a6a7
read(addr=0xce00,size=0x200)
[================= ] 58% (72/124 pages)checksumBuffer(start_addr=0xd000, size=0x200) = 8d84
read(addr=0xd000,size=0x200)
[================= ] 58% (73/124 pages)checksumBuffer(start_addr=0xd200, size=0x200) = a679
read(addr=0xd200,size=0x200)
[================= ] 59% (74/124 pages)checksumBuffer(start_addr=0xd400, size=0x200) = 8dbb
read(addr=0xd400,size=0x200)
[================== ] 60% (75/124 pages)checksumBuffer(start_addr=0xd600, size=0x200) = 4167
read(addr=0xd600,size=0x200)
[================== ] 61% (76/124 pages)checksumBuffer(start_addr=0xd800, size=0x200) = b106
read(addr=0xd800,size=0x200)
[================== ] 62% (77/124 pages)checksumBuffer(start_addr=0xda00, size=0x200) = 9530
read(addr=0xda00,size=0x200)
[================== ] 62% (78/124 pages)checksumBuffer(start_addr=0xdc00, size=0x200) = d807
read(addr=0xdc00,size=0x200)
[=================== ] 63% (79/124 pages)checksumBuffer(start_addr=0xde00, size=0x200) = 7217
read(addr=0xde00,size=0x200)
[=================== ] 64% (80/124 pages)checksumBuffer(start_addr=0xe000, size=0x200) = 7e98
read(addr=0xe000,size=0x200)
[=================== ] 65% (81/124 pages)checksumBuffer(start_addr=0xe200, size=0x200) = a8eb
read(addr=0xe200,size=0x200)
[=================== ] 66% (82/124 pages)checksumBuffer(start_addr=0xe400, size=0x200) = b388
read(addr=0xe400,size=0x200)
[==================== ] 66% (83/124 pages)checksumBuffer(start_addr=0xe600, size=0x200) = 344f
read(addr=0xe600,size=0x200)
[==================== ] 67% (84/124 pages)checksumBuffer(start_addr=0xe800, size=0x200) = 1e20
read(addr=0xe800,size=0x200)
[==================== ] 68% (85/124 pages)checksumBuffer(start_addr=0xea00, size=0x200) = bae3
read(addr=0xea00,size=0x200)
[==================== ] 69% (86/124 pages)checksumBuffer(start_addr=0xec00, size=0x200) = 5a94
read(addr=0xec00,size=0x200)
[===================== ] 70% (87/124 pages)checksumBuffer(start_addr=0xee00, size=0x200) = 163f
read(addr=0xee00,size=0x200)
[===================== ] 70% (88/124 pages)checksumBuffer(start_addr=0xf000, size=0x200) = 53bb
read(addr=0xf000,size=0x200)
[===================== ] 71% (89/124 pages)checksumBuffer(start_addr=0xf200, size=0x200) = 15d9
read(addr=0xf200,size=0x200)
[===================== ] 72% (90/124 pages)checksumBuffer(start_addr=0xf400, size=0x200) = c327
read(addr=0xf400,size=0x200)
[====================== ] 73% (91/124 pages)checksumBuffer(start_addr=0xf600, size=0x200) = d5ee
read(addr=0xf600,size=0x200)
[====================== ] 74% (92/124 pages)checksumBuffer(start_addr=0xf800, size=0x200) = 49d8
read(addr=0xf800,size=0x200)
[====================== ] 75% (93/124 pages)checksumBuffer(start_addr=0xfa00, size=0x200) = 32e8
read(addr=0xfa00,size=0x200)
[====================== ] 75% (94/124 pages)checksumBuffer(start_addr=0xfc00, size=0x200) = a1bf
read(addr=0xfc00,size=0x200)
[====================== ] 76% (95/124 pages)checksumBuffer(start_addr=0xfe00, size=0x200) = 1311
read(addr=0xfe00,size=0x200)
[======================= ] 77% (96/124 pages)checksumBuffer(start_addr=0x10000, size=0x200) = b735
read(addr=0x10000,size=0x200)
[======================= ] 78% (97/124 pages)checksumBuffer(start_addr=0x10200, size=0x200) = d949
read(addr=0x10200,size=0x200)
[======================= ] 79% (98/124 pages)checksumBuffer(start_addr=0x10400, size=0x200) = 2951
read(addr=0x10400,size=0x200)
[======================= ] 79% (99/124 pages)checksumBuffer(start_addr=0x10600, size=0x200) = f26e
read(addr=0x10600,size=0x200)
[======================== ] 80% (100/124 pages)checksumBuffer(start_addr=0x10800, size=0x200) = 25d9
read(addr=0x10800,size=0x200)
[======================== ] 81% (101/124 pages)checksumBuffer(start_addr=0x10a00, size=0x200) = 765d
read(addr=0x10a00,size=0x200)
[======================== ] 82% (102/124 pages)checksumBuffer(start_addr=0x10c00, size=0x200) = 17c8
read(addr=0x10c00,size=0x200)
[======================== ] 83% (103/124 pages)checksumBuffer(start_addr=0x10e00, size=0x200) = 6413
read(addr=0x10e00,size=0x200)
[========================= ] 83% (104/124 pages)checksumBuffer(start_addr=0x11000, size=0x200) = c99a
read(addr=0x11000,size=0x200)
[========================= ] 84% (105/124 pages)checksumBuffer(start_addr=0x11200, size=0x200) = 7869
read(addr=0x11200,size=0x200)
[========================= ] 85% (106/124 pages)checksumBuffer(start_addr=0x11400, size=0x200) = a522
read(addr=0x11400,size=0x200)
[========================= ] 86% (107/124 pages)checksumBuffer(start_addr=0x11600, size=0x200) = 73b8
read(addr=0x11600,size=0x200)
[========================== ] 87% (108/124 pages)checksumBuffer(start_addr=0x11800, size=0x200) = 995d
read(addr=0x11800,size=0x200)
[========================== ] 87% (109/124 pages)checksumBuffer(start_addr=0x11a00, size=0x200) = e9c7
read(addr=0x11a00,size=0x200)
[========================== ] 88% (110/124 pages)checksumBuffer(start_addr=0x11c00, size=0x200) = 1e6
read(addr=0x11c00,size=0x200)
[========================== ] 89% (111/124 pages)checksumBuffer(start_addr=0x11e00, size=0x200) = d331
read(addr=0x11e00,size=0x200)
[=========================== ] 90% (112/124 pages)checksumBuffer(start_addr=0x12000, size=0x200) = 843
read(addr=0x12000,size=0x200)
[=========================== ] 91% (113/124 pages)checksumBuffer(start_addr=0x12200, size=0x200) = 90c3
read(addr=0x12200,size=0x200)
[=========================== ] 91% (114/124 pages)checksumBuffer(start_addr=0x12400, size=0x200) = 541d
read(addr=0x12400,size=0x200)
[=========================== ] 92% (115/124 pages)checksumBuffer(start_addr=0x12600, size=0x200) = 746f
read(addr=0x12600,size=0x200)
[============================ ] 93% (116/124 pages)checksumBuffer(start_addr=0x12800, size=0x200) = cd04
read(addr=0x12800,size=0x200)
[============================ ] 94% (117/124 pages)checksumBuffer(start_addr=0x12a00, size=0x200) = 3a5d
read(addr=0x12a00,size=0x200)
[============================ ] 95% (118/124 pages)checksumBuffer(start_addr=0x12c00, size=0x200) = ba55
read(addr=0x12c00,size=0x200)
[============================ ] 95% (119/124 pages)checksumBuffer(start_addr=0x12e00, size=0x200) = 9a54
read(addr=0x12e00,size=0x200)
[============================= ] 96% (120/124 pages)checksumBuffer(start_addr=0x13000, size=0x200) = 22b5
read(addr=0x13000,size=0x200)
[============================= ] 97% (121/124 pages)checksumBuffer(start_addr=0x13200, size=0x200) = 671
read(addr=0x13200,size=0x200)
[============================= ] 98% (122/124 pages)checksumBuffer(start_addr=0x13400, size=0x200) = 2468
read(addr=0x13400,size=0x200)
[============================= ] 99% (123/124 pages)checksumBuffer(start_addr=0x13600, size=0x80) = a95f
read(addr=0x13600,size=0x200)
[==============================] 100% (124/124 pages)
Verify successful
Done in 1.367 seconds
writeWord(addr=0xe000ed0c,value=0x5fa0004)
wait...
wait...
wait...
c:\users\user\downloads\km0_boot_all.bin\km0_boot_all.bin not exists!
PS C:\Users\User\ambd_flash_tool>
PS C:\Users\User\ambd_flash_tool> .\ambd_flash_tool.exe erase
MODE COM14:BAUD=%d PARITY=N DATA=8
Status for device COM14:
------------------------
Baud: 1200
Parity: None
Data Bits: 8
Stop Bits: 1
Timeout: OFF
XON/XOFF: OFF
CTS handshaking: OFF
DSR handshaking: OFF
DSR sensitivity: OFF
DTR circuit: OFF
RTS circuit: ON
Set binary mode
version()=v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
Connected at 921600 baud
readWord(addr=0)=0x2000d6a0
readWord(addr=0xe000ed00)=0x410fc241
readWord(addr=0x4)=0x56d
readWord(addr=0x41002018)=0x60060001
write(addr=0x20004000,size=0x34)
writeWord(addr=0x20004030,value=0x80)
writeWord(addr=0x20004020,value=0x20008000)
version()=v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
readByte(addr=0x804000)=0xb9
readByte(addr=0x804001)=0x92
readByte(addr=0x804008)=0xff
readByte(addr=0x804009)=0xff
readByte(addr=0x80400a)=0xff
readByte(addr=0x80400b)=0xff
Device : ATSAMD51x19
Version : v1.1 [Arduino:XYZ] Mar 12 2020 17:43:33
Address : 0x0
Pages : 1024
Page Size : 512 bytes
Total Size : 512KB
Planes : 1
Lock Regions : 32
Locked : none
Security : false
BOD : false
BOR : true
Write 63104 bytes to flash (124 pages)
[ ] 0% (0/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x4000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x4000, size=0x1000)
[= ] 6% (8/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x5000, size=0x1000)
[=== ] 12% (16/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x6000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x6000, size=0x1000)
[===== ] 19% (24/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x7000, size=0x1000)
[======= ] 25% (32/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x8000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x8000, size=0x1000)
[========= ] 32% (40/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x9000, size=0x1000)
[=========== ] 38% (48/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xa000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xa000, size=0x1000)
[============= ] 45% (56/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xb000, size=0x1000)
[=============== ] 51% (64/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xc000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xc000, size=0x1000)
[================= ] 58% (72/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xd000, size=0x1000)
[=================== ] 64% (80/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0xe000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0xe000, size=0x1000)
[===================== ] 70% (88/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0xf000, size=0x1000)
[======================= ] 77% (96/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x10000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x10000, size=0x1000)
[========================= ] 83% (104/124 pages)write(addr=0x20004034,size=0x1000)
writeBuffer(scr_addr=0x20004034, dst_addr=0x11000, size=0x1000)
[=========================== ] 90% (112/124 pages)write(addr=0x20004034,size=0x1000)
writeWord(addr=0x41004014,value=0x12000)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
writeWord(addr=0x41004004,value=0xa501)
readByte(addr=0x41004012)=0x11
readByte(addr=0x41004013)=0xd
readByte(addr=0x41004010)=0x11
readByte(addr=0x41004011)=0
writeBuffer(scr_addr=0x20004034, dst_addr=0x12000, size=0x1000)
[============================= ] 96% (120/124 pages)write(addr=0x20004034,size=0x800)
writeBuffer(scr_addr=0x20004034, dst_addr=0x13000, size=0x800)
[==============================] 100% (124/124 pages)
Done in 1.159 seconds
Verify 63104 bytes of flash
checksumBuffer(start_addr=0x4000, size=0x200) = 3ac3
checksumBuffer(start_addr=0x4200, size=0x200) = a55d
read(addr=0x4200,size=0x200)
checksumBuffer(start_addr=0x4400, size=0x200) = 9a9c
read(addr=0x4400,size=0x200)
checksumBuffer(start_addr=0x4600, size=0x200) = bc03
read(addr=0x4600,size=0x200)
checksumBuffer(start_addr=0x4800, size=0x200) = a7fd
read(addr=0x4800,size=0x200)
[= ] 4% (5/124 pages)checksumBuffer(start_addr=0x4a00, size=0x200) = 2e2e
read(addr=0x4a00,size=0x200)
[= ] 4% (6/124 pages)checksumBuffer(start_addr=0x4c00, size=0x200) = 2bcb
read(addr=0x4c00,size=0x200)
[= ] 5% (7/124 pages)checksumBuffer(start_addr=0x4e00, size=0x200) = ef8e
read(addr=0x4e00,size=0x200)
[= ] 6% (8/124 pages)checksumBuffer(start_addr=0x5000, size=0x200) = c037
read(addr=0x5000,size=0x200)
[== ] 7% (9/124 pages)checksumBuffer(start_addr=0x5200, size=0x200) = dc20
read(addr=0x5200,size=0x200)
[== ] 8% (10/124 pages)checksumBuffer(start_addr=0x5400, size=0x200) = 7109
read(addr=0x5400,size=0x200)
[== ] 8% (11/124 pages)checksumBuffer(start_addr=0x5600, size=0x200) = 1a1a
read(addr=0x5600,size=0x200)
[== ] 9% (12/124 pages)checksumBuffer(start_addr=0x5800, size=0x200) = 5e68
read(addr=0x5800,size=0x200)
[=== ] 10% (13/124 pages)checksumBuffer(start_addr=0x5a00, size=0x200) = 2007
read(addr=0x5a00,size=0x200)
[=== ] 11% (14/124 pages)checksumBuffer(start_addr=0x5c00, size=0x200) = d7b7
read(addr=0x5c00,size=0x200)
[=== ] 12% (15/124 pages)checksumBuffer(start_addr=0x5e00, size=0x200) = 26a2
read(addr=0x5e00,size=0x200)
[=== ] 12% (16/124 pages)checksumBuffer(start_addr=0x6000, size=0x200) = 76ba
read(addr=0x6000,size=0x200)
[==== ] 13% (17/124 pages)checksumBuffer(start_addr=0x6200, size=0x200) = 412
read(addr=0x6200,size=0x200)
[==== ] 14% (18/124 pages)checksumBuffer(start_addr=0x6400, size=0x200) = d721
read(addr=0x6400,size=0x200)
[==== ] 15% (19/124 pages)checksumBuffer(start_addr=0x6600, size=0x200) = 5bb5
read(addr=0x6600,size=0x200)
[==== ] 16% (20/124 pages)checksumBuffer(start_addr=0x6800, size=0x200) = 8b1a
read(addr=0x6800,size=0x200)
[===== ] 16% (21/124 pages)checksumBuffer(start_addr=0x6a00, size=0x200) = 953b
read(addr=0x6a00,size=0x200)
[===== ] 17% (22/124 pages)checksumBuffer(start_addr=0x6c00, size=0x200) = 7b70
read(addr=0x6c00,size=0x200)
[===== ] 18% (23/124 pages)checksumBuffer(start_addr=0x6e00, size=0x200) = 7175
read(addr=0x6e00,size=0x200)
[===== ] 19% (24/124 pages)checksumBuffer(start_addr=0x7000, size=0x200) = 97e2
read(addr=0x7000,size=0x200)
[====== ] 20% (25/124 pages)checksumBuffer(start_addr=0x7200, size=0x200) = 5510
read(addr=0x7200,size=0x200)
[====== ] 20% (26/124 pages)checksumBuffer(start_addr=0x7400, size=0x200) = cbf8
read(addr=0x7400,size=0x200)
[====== ] 21% (27/124 pages)checksumBuffer(start_addr=0x7600, size=0x200) = 63d
read(addr=0x7600,size=0x200)
[====== ] 22% (28/124 pages)checksumBuffer(start_addr=0x7800, size=0x200) = 7b3c
read(addr=0x7800,size=0x200)
[======= ] 23% (29/124 pages)checksumBuffer(start_addr=0x7a00, size=0x200) = cd19
read(addr=0x7a00,size=0x200)
[======= ] 24% (30/124 pages)checksumBuffer(start_addr=0x7c00, size=0x200) = 1ecf
read(addr=0x7c00,size=0x200)
[======= ] 25% (31/124 pages)checksumBuffer(start_addr=0x7e00, size=0x200) = f1b3
read(addr=0x7e00,size=0x200)
[======= ] 25% (32/124 pages)checksumBuffer(start_addr=0x8000, size=0x200) = 8069
read(addr=0x8000,size=0x200)
[======= ] 26% (33/124 pages)checksumBuffer(start_addr=0x8200, size=0x200) = 657b
read(addr=0x8200,size=0x200)
[======== ] 27% (34/124 pages)checksumBuffer(start_addr=0x8400, size=0x200) = db3e
read(addr=0x8400,size=0x200)
[======== ] 28% (35/124 pages)checksumBuffer(start_addr=0x8600, size=0x200) = fb9d
read(addr=0x8600,size=0x200)
[======== ] 29% (36/124 pages)checksumBuffer(start_addr=0x8800, size=0x200) = e443
read(addr=0x8800,size=0x200)
[======== ] 29% (37/124 pages)checksumBuffer(start_addr=0x8a00, size=0x200) = 8471
read(addr=0x8a00,size=0x200)
[========= ] 30% (38/124 pages)checksumBuffer(start_addr=0x8c00, size=0x200) = 4c89
read(addr=0x8c00,size=0x200)
[========= ] 31% (39/124 pages)checksumBuffer(start_addr=0x8e00, size=0x200) = eb03
read(addr=0x8e00,size=0x200)
[========= ] 32% (40/124 pages)checksumBuffer(start_addr=0x9000, size=0x200) = b3dc
read(addr=0x9000,size=0x200)
[========= ] 33% (41/124 pages)checksumBuffer(start_addr=0x9200, size=0x200) = a9c9
read(addr=0x9200,size=0x200)
[========== ] 33% (42/124 pages)checksumBuffer(start_addr=0x9400, size=0x200) = ad31
read(addr=0x9400,size=0x200)
[========== ] 34% (43/124 pages)checksumBuffer(start_addr=0x9600, size=0x200) = 1262
read(addr=0x9600,size=0x200)
[========== ] 35% (44/124 pages)checksumBuffer(start_addr=0x9800, size=0x200) = 5383
read(addr=0x9800,size=0x200)
[========== ] 36% (45/124 pages)checksumBuffer(start_addr=0x9a00, size=0x200) = 41d9
read(addr=0x9a00,size=0x200)
[=========== ] 37% (46/124 pages)checksumBuffer(start_addr=0x9c00, size=0x200) = 8748
read(addr=0x9c00,size=0x200)
[=========== ] 37% (47/124 pages)checksumBuffer(start_addr=0x9e00, size=0x200) = a9f9
read(addr=0x9e00,size=0x200)
[=========== ] 38% (48/124 pages)checksumBuffer(start_addr=0xa000, size=0x200) = 4766
read(addr=0xa000,size=0x200)
[=========== ] 39% (49/124 pages)checksumBuffer(start_addr=0xa200, size=0x200) = da8f
read(addr=0xa200,size=0x200)
[============ ] 40% (50/124 pages)checksumBuffer(start_addr=0xa400, size=0x200) = 53be
read(addr=0xa400,size=0x200)
[============ ] 41% (51/124 pages)checksumBuffer(start_addr=0xa600, size=0x200) = 54f3
read(addr=0xa600,size=0x200)
[============ ] 41% (52/124 pages)checksumBuffer(start_addr=0xa800, size=0x200) = 4498
read(addr=0xa800,size=0x200)
[============ ] 42% (53/124 pages)checksumBuffer(start_addr=0xaa00, size=0x200) = 8edb
read(addr=0xaa00,size=0x200)
[============= ] 43% (54/124 pages)checksumBuffer(start_addr=0xac00, size=0x200) = 8304
read(addr=0xac00,size=0x200)
[============= ] 44% (55/124 pages)checksumBuffer(start_addr=0xae00, size=0x200) = 8f09
read(addr=0xae00,size=0x200)
[============= ] 45% (56/124 pages)checksumBuffer(start_addr=0xb000, size=0x200) = d30
read(addr=0xb000,size=0x200)
[============= ] 45% (57/124 pages)checksumBuffer(start_addr=0xb200, size=0x200) = e59c
read(addr=0xb200,size=0x200)
[============== ] 46% (58/124 pages)checksumBuffer(start_addr=0xb400, size=0x200) = cd24
read(addr=0xb400,size=0x200)
[============== ] 47% (59/124 pages)checksumBuffer(start_addr=0xb600, size=0x200) = c0b7
read(addr=0xb600,size=0x200)
[============== ] 48% (60/124 pages)checksumBuffer(start_addr=0xb800, size=0x200) = f9c
read(addr=0xb800,size=0x200)
[============== ] 49% (61/124 pages)checksumBuffer(start_addr=0xba00, size=0x200) = 4906
read(addr=0xba00,size=0x200)
[=============== ] 50% (62/124 pages)checksumBuffer(start_addr=0xbc00, size=0x200) = 5640
read(addr=0xbc00,size=0x200)
[=============== ] 50% (63/124 pages)checksumBuffer(start_addr=0xbe00, size=0x200) = b98b
read(addr=0xbe00,size=0x200)
[=============== ] 51% (64/124 pages)checksumBuffer(start_addr=0xc000, size=0x200) = 56c5
read(addr=0xc000,size=0x200)
[=============== ] 52% (65/124 pages)checksumBuffer(start_addr=0xc200, size=0x200) = 9807
read(addr=0xc200,size=0x200)
[=============== ] 53% (66/124 pages)checksumBuffer(start_addr=0xc400, size=0x200) = c0a9
read(addr=0xc400,size=0x200)
[================ ] 54% (67/124 pages)checksumBuffer(start_addr=0xc600, size=0x200) = 4d81
read(addr=0xc600,size=0x200)
[================ ] 54% (68/124 pages)checksumBuffer(start_addr=0xc800, size=0x200) = 2334
read(addr=0xc800,size=0x200)
[================ ] 55% (69/124 pages)checksumBuffer(start_addr=0xca00, size=0x200) = b299
read(addr=0xca00,size=0x200)
[================ ] 56% (70/124 pages)checksumBuffer(start_addr=0xcc00, size=0x200) = 60fc
read(addr=0xcc00,size=0x200)
[================= ] 57% (71/124 pages)checksumBuffer(start_addr=0xce00, size=0x200) = a6a7
read(addr=0xce00,size=0x200)
[================= ] 58% (72/124 pages)checksumBuffer(start_addr=0xd000, size=0x200) = 8d84
read(addr=0xd000,size=0x200)
[================= ] 58% (73/124 pages)checksumBuffer(start_addr=0xd200, size=0x200) = a679
read(addr=0xd200,size=0x200)
[================= ] 59% (74/124 pages)checksumBuffer(start_addr=0xd400, size=0x200) = 8dbb
read(addr=0xd400,size=0x200)
[================== ] 60% (75/124 pages)checksumBuffer(start_addr=0xd600, size=0x200) = 4167
read(addr=0xd600,size=0x200)
[================== ] 61% (76/124 pages)checksumBuffer(start_addr=0xd800, size=0x200) = b106
read(addr=0xd800,size=0x200)
[================== ] 62% (77/124 pages)checksumBuffer(start_addr=0xda00, size=0x200) = 9530
read(addr=0xda00,size=0x200)
[================== ] 62% (78/124 pages)checksumBuffer(start_addr=0xdc00, size=0x200) = d807
read(addr=0xdc00,size=0x200)
[=================== ] 63% (79/124 pages)checksumBuffer(start_addr=0xde00, size=0x200) = 7217
read(addr=0xde00,size=0x200)
[=================== ] 64% (80/124 pages)checksumBuffer(start_addr=0xe000, size=0x200) = 7e98
read(addr=0xe000,size=0x200)
[=================== ] 65% (81/124 pages)checksumBuffer(start_addr=0xe200, size=0x200) = a8eb
read(addr=0xe200,size=0x200)
[=================== ] 66% (82/124 pages)checksumBuffer(start_addr=0xe400, size=0x200) = b388
read(addr=0xe400,size=0x200)
[==================== ] 66% (83/124 pages)checksumBuffer(start_addr=0xe600, size=0x200) = 344f
read(addr=0xe600,size=0x200)
[==================== ] 67% (84/124 pages)checksumBuffer(start_addr=0xe800, size=0x200) = 1e20
read(addr=0xe800,size=0x200)
[==================== ] 68% (85/124 pages)checksumBuffer(start_addr=0xea00, size=0x200) = bae3
read(addr=0xea00,size=0x200)
[==================== ] 69% (86/124 pages)checksumBuffer(start_addr=0xec00, size=0x200) = 5a94
read(addr=0xec00,size=0x200)
[===================== ] 70% (87/124 pages)checksumBuffer(start_addr=0xee00, size=0x200) = 163f
read(addr=0xee00,size=0x200)
[===================== ] 70% (88/124 pages)checksumBuffer(start_addr=0xf000, size=0x200) = 53bb
read(addr=0xf000,size=0x200)
[===================== ] 71% (89/124 pages)checksumBuffer(start_addr=0xf200, size=0x200) = 15d9
read(addr=0xf200,size=0x200)
[===================== ] 72% (90/124 pages)checksumBuffer(start_addr=0xf400, size=0x200) = c327
read(addr=0xf400,size=0x200)
[====================== ] 73% (91/124 pages)checksumBuffer(start_addr=0xf600, size=0x200) = d5ee
read(addr=0xf600,size=0x200)
[====================== ] 74% (92/124 pages)checksumBuffer(start_addr=0xf800, size=0x200) = 49d8
read(addr=0xf800,size=0x200)
[====================== ] 75% (93/124 pages)checksumBuffer(start_addr=0xfa00, size=0x200) = 32e8
read(addr=0xfa00,size=0x200)
[====================== ] 75% (94/124 pages)checksumBuffer(start_addr=0xfc00, size=0x200) = a1bf
read(addr=0xfc00,size=0x200)
[====================== ] 76% (95/124 pages)checksumBuffer(start_addr=0xfe00, size=0x200) = 1311
read(addr=0xfe00,size=0x200)
[======================= ] 77% (96/124 pages)checksumBuffer(start_addr=0x10000, size=0x200) = b735
read(addr=0x10000,size=0x200)
[======================= ] 78% (97/124 pages)checksumBuffer(start_addr=0x10200, size=0x200) = d949
read(addr=0x10200,size=0x200)
[======================= ] 79% (98/124 pages)checksumBuffer(start_addr=0x10400, size=0x200) = 2951
read(addr=0x10400,size=0x200)
[======================= ] 79% (99/124 pages)checksumBuffer(start_addr=0x10600, size=0x200) = f26e
read(addr=0x10600,size=0x200)
[======================== ] 80% (100/124 pages)checksumBuffer(start_addr=0x10800, size=0x200) = 25d9
read(addr=0x10800,size=0x200)
[======================== ] 81% (101/124 pages)checksumBuffer(start_addr=0x10a00, size=0x200) = 765d
read(addr=0x10a00,size=0x200)
[======================== ] 82% (102/124 pages)checksumBuffer(start_addr=0x10c00, size=0x200) = 17c8
read(addr=0x10c00,size=0x200)
[======================== ] 83% (103/124 pages)checksumBuffer(start_addr=0x10e00, size=0x200) = 6413
read(addr=0x10e00,size=0x200)
[========================= ] 83% (104/124 pages)checksumBuffer(start_addr=0x11000, size=0x200) = c99a
read(addr=0x11000,size=0x200)
[========================= ] 84% (105/124 pages)checksumBuffer(start_addr=0x11200, size=0x200) = 7869
read(addr=0x11200,size=0x200)
[========================= ] 85% (106/124 pages)checksumBuffer(start_addr=0x11400, size=0x200) = a522
read(addr=0x11400,size=0x200)
[========================= ] 86% (107/124 pages)checksumBuffer(start_addr=0x11600, size=0x200) = 73b8
read(addr=0x11600,size=0x200)
[========================== ] 87% (108/124 pages)checksumBuffer(start_addr=0x11800, size=0x200) = 995d
read(addr=0x11800,size=0x200)
[========================== ] 87% (109/124 pages)checksumBuffer(start_addr=0x11a00, size=0x200) = e9c7
read(addr=0x11a00,size=0x200)
[========================== ] 88% (110/124 pages)checksumBuffer(start_addr=0x11c00, size=0x200) = 1e6
read(addr=0x11c00,size=0x200)
[========================== ] 89% (111/124 pages)checksumBuffer(start_addr=0x11e00, size=0x200) = d331
read(addr=0x11e00,size=0x200)
[=========================== ] 90% (112/124 pages)checksumBuffer(start_addr=0x12000, size=0x200) = 843
read(addr=0x12000,size=0x200)
[=========================== ] 91% (113/124 pages)checksumBuffer(start_addr=0x12200, size=0x200) = 90c3
read(addr=0x12200,size=0x200)
[=========================== ] 91% (114/124 pages)checksumBuffer(start_addr=0x12400, size=0x200) = 541d
read(addr=0x12400,size=0x200)
[=========================== ] 92% (115/124 pages)checksumBuffer(start_addr=0x12600, size=0x200) = 746f
read(addr=0x12600,size=0x200)
[============================ ] 93% (116/124 pages)checksumBuffer(start_addr=0x12800, size=0x200) = cd04
read(addr=0x12800,size=0x200)
[============================ ] 94% (117/124 pages)checksumBuffer(start_addr=0x12a00, size=0x200) = 3a5d
read(addr=0x12a00,size=0x200)
[============================ ] 95% (118/124 pages)checksumBuffer(start_addr=0x12c00, size=0x200) = ba55
read(addr=0x12c00,size=0x200)
[============================ ] 95% (119/124 pages)checksumBuffer(start_addr=0x12e00, size=0x200) = 9a54
read(addr=0x12e00,size=0x200)
[============================= ] 96% (120/124 pages)checksumBuffer(start_addr=0x13000, size=0x200) = 22b5
read(addr=0x13000,size=0x200)
[============================= ] 97% (121/124 pages)checksumBuffer(start_addr=0x13200, size=0x200) = 671
read(addr=0x13200,size=0x200)
[============================= ] 98% (122/124 pages)checksumBuffer(start_addr=0x13400, size=0x200) = 2468
read(addr=0x13400,size=0x200)
[============================= ] 99% (123/124 pages)checksumBuffer(start_addr=0x13600, size=0x80) = a95f
read(addr=0x13600,size=0x200)
[==============================] 100% (124/124 pages)
Verify successful
Done in 1.287 seconds
writeWord(addr=0xe000ed0c,value=0x5fa0004)
wait...
wait...
wait...
Flashing...
All images are sent successfully!
Image tool closed!
I continued o get no-where with the above… however…. ok, I’ll grant you – there are always multiple ways around a problem – so off I went to the Seeed website – looking for examples using the Arduino development setup. I just happen to have Arduino 1.8.13 on my PC and loaded in the library for WIO Terminal – and an example to put some text on the screen. One step forward. Mind you I could do this with cheap ILI9341 and an ESP8266.. however – I’ll keep going.. I tried several examples which assumed you have GIT on a Windows PC, others which griped about missing headers etc. I have to say, by comparison, using ESPHOME on s typical display board is looking WAY easier up to now.
Exactly what I’m currently doing with my M5Stack Basic using ESPHome! It already displays sensor readings from around the house and I’m adding an alert function so that Node-RED (or anything else of course) can send a message via MQTT that will turn on the display and show the alert either requiring a button press to clear or showing for a set time.
The display turns the backlight on every 5minutes for 1 minute.
🙂
Looks interesting. I was thinking about a MQTT listener for the WIO Terminal which shows the messages on screen (MQTT so it it reboots, it gets the latest messages)
Yes I have, Erik, thanks…
See this entry and this one too.Â
And in the process of responding, I got so sick of not being able to respond in HTML, I added the necessary code to fix that 🙂
Regards
Pete
Hello Pete,
Have you ever looked at M5stack?? Has everthing you need and more..
Nice blog BTW.