Merge branch 'master' of https://github.com/texane/stlink
authorKarl Palsson <karlp@tweak.net.au>
Sun, 16 Oct 2011 20:54:06 +0000 (20:54 +0000)
committerKarl Palsson <karlp@tweak.net.au>
Sun, 16 Oct 2011 20:54:06 +0000 (20:54 +0000)
Conflicts:
src/stlink-usb.c

src/stlink-usb.c

index 6eb456c88011d4f5687c69a696aac7c8751eb4df..2433d6c166e5e98a4fc4a908ae877a3c5ddd7a08 100644 (file)
@@ -155,7 +155,7 @@ void _stlink_usb_version(stlink_t *sl) {
     buf[0] = STLINK_GET_VERSION;
     buf[1] = 0x80;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 6);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -182,8 +182,10 @@ void _stlink_usb_write_mem32(stlink_t *sl, uint32_t addr, uint16_t len) {
     write_uint16(cmd_buf + 6, len);
     send_only(slu, cmd_buf, STLINK_CMD_SIZE);
 
+#if Q_BUF_LEN < UINT16_MAX
+    assert(len < sizeof(sl->q_buf));  // makes a compiler warning? always true?
+#endif
     assert((len & 3) == 0); 
-    stlink_print_data(sl);
     send_only(slu, buf, len);
 
 }
@@ -200,7 +202,9 @@ void _stlink_usb_write_mem8(stlink_t *sl, uint32_t addr, uint16_t len) {
     write_uint16(cmd_buf + 6, len);
     send_only(slu, cmd_buf, STLINK_CMD_SIZE);
 
-    stlink_print_data(sl);
+#if Q_BUF_LEN < UINT16_MAX
+    assert(len < sizeof(sl->q_buf));  // makes a compiler warning? always true?
+#endif
     send_only(slu, buf, len);
 }
 
@@ -211,7 +215,7 @@ int _stlink_usb_current_mode(stlink_t * sl) {
     ssize_t size;
     memset(buf, 0, sizeof (sl->q_buf));
     buf[0] = STLINK_GET_CURRENT_MODE;
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return -1;
@@ -228,7 +232,7 @@ void _stlink_usb_core_id(stlink_t * sl) {
     buf[0] = STLINK_DEBUG_COMMAND;
     buf[1] = STLINK_DEBUG_READCOREID;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 4);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -247,7 +251,7 @@ void _stlink_usb_status(stlink_t * sl) {
     buf[0] = STLINK_DEBUG_COMMAND;
     buf[1] = STLINK_DEBUG_GETSTATUS;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -271,7 +275,7 @@ void _stlink_usb_force_debug(stlink_t *sl) {
 
     buf[0] = STLINK_DEBUG_COMMAND;
     buf[1] = STLINK_DEBUG_FORCEDEBUG;
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -290,7 +294,7 @@ void _stlink_usb_enter_swd_mode(stlink_t * sl) {
     buf[1] = STLINK_SWD_ENTER;
     buf[2] = STLINK_DEBUG_ENTER_SWD;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -343,7 +347,7 @@ void _stlink_usb_step(stlink_t* sl) {
     buf[0] = STLINK_DEBUG_COMMAND;
     buf[1] = STLINK_DEBUG_STEPCORE;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -363,7 +367,7 @@ void _stlink_usb_run(stlink_t* sl) {
     buf[0] = STLINK_DEBUG_COMMAND;
     buf[1] = STLINK_DEBUG_RUNCORE;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;
@@ -403,7 +407,7 @@ void _stlink_usb_read_mem32(stlink_t *sl, uint32_t addr, uint16_t len) {
     assert (len < 256);
     buf[6] = (uint8_t) len;
 
-    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+    size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, len);
     if (size == -1) {
         printf("[!] send_recv\n");
         return;