diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe new file mode 100644 index 0000000000000000000000000000000000000000..7034dcb07c5309422647494d2c5e417d0f30dac0 Binary files /dev/null and b/minichlink/minichlink.exe differ diff --git a/minichlink/pgm-wch-linke.c b/minichlink/pgm-wch-linke.c index 328acfc0990c4d2cebc950c450cb6887fc5dd605..dd6bb6a57d2c7170faa29e20b7316d5a0a4de401 100644 --- a/minichlink/pgm-wch-linke.c +++ b/minichlink/pgm-wch-linke.c @@ -544,9 +544,13 @@ static int LEWriteBinaryBlob( void * d, uint32_t address_to_write, uint32_t len, // This contains the write data quantity, in bytes. (The last 2 octets) // Then it just rollllls on in. - char rksbuff[11] = { 0x81, 0x01, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - rksbuff[9] = len >> 8; - rksbuff[10] = len & 0xff; + char rksbuff[11] = { 0x81, 0x01, 0x08, + // Address to write + (uint8_t)(address_to_write >> 24), (uint8_t)(address_to_write >> 16), + (uint8_t)(address_to_write >> 8), (uint8_t)(address_to_write & 0xff), + // Length to write + (uint8_t)(len >> 24), (uint8_t)(len >> 16), + (uint8_t)(len >> 8), (uint8_t)(len & 0xff) }; wch_link_command( (libusb_device_handle *)dev, rksbuff, 11, 0, 0, 0 ); wch_link_command( (libusb_device_handle *)dev, "\x81\x02\x01\x05", 4, 0, 0, 0 );