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 );