projects
/
fw
/
stlink
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[fix] stlink_usb_read_mem32 len command field
[fw/stlink]
/
src
/
stlink-usb.c
diff --git
a/src/stlink-usb.c
b/src/stlink-usb.c
index 2ed5320e971f920542bac6f1df05520d231c4850..533a632ea081ca461e14aa4dd3aa0dc02219be91 100644
(file)
--- a/
src/stlink-usb.c
+++ b/
src/stlink-usb.c
@@
-398,10
+398,8
@@
void _stlink_usb_read_mem32(stlink_t *sl, uint32_t addr, uint16_t len) {
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_READMEM_32BIT;
write_uint32(buf + 2, addr);
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_READMEM_32BIT;
write_uint32(buf + 2, addr);
- /* windows usb logs show only one byte is used for length ... */
- // Presumably, this is because usb transfers can't be 16 bits worth of bytes long...
- assert (len < 256);
buf[6] = (uint8_t) len;
buf[6] = (uint8_t) len;
+ buf[7] = (uint8_t) (len >> 8);
size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
if (size == -1) {
size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
if (size == -1) {