remove TAP_SCAN_BYTES macro
[openocd.git] / src / jtag / jlink.c
index 27d400d4d58bedb30ce73b757109c96ce16681bd..23ebc62d2a6431dbfc383500e336a7cacda94ed6 100644 (file)
@@ -91,10 +91,6 @@ static int jlink_register_commands(struct command_context *cmd_ctx);
 static int jlink_init(void);
 static int jlink_quit(void);
 
-/* CLI command handler functions */
-static int jlink_handle_jlink_info_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc);
-static int jlink_handle_jlink_hw_jtag_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc);
-
 /* Queue command functions */
 static void jlink_end_state(tap_state_t state);
 static void jlink_state_move(void);
@@ -290,18 +286,6 @@ static int jlink_khz(int khz, int *jtag_speed)
        return ERROR_OK;
 }
 
-static int jlink_register_commands(struct command_context *cmd_ctx)
-{
-
-       register_command(cmd_ctx, NULL, "jlink_info",
-               &jlink_handle_jlink_info_command, COMMAND_EXEC,
-               "query jlink info");
-       register_command(cmd_ctx, NULL, "jlink_hw_jtag",
-               &jlink_handle_jlink_hw_jtag_command, COMMAND_EXEC,
-               "set/get jlink hw jtag command version [2 | 3]");
-       return ERROR_OK;
-}
-
 static int jlink_init(void)
 {
        int i;
@@ -630,7 +614,7 @@ static int jlink_get_version_info(void)
        return ERROR_OK;
 }
 
-static int jlink_handle_jlink_info_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(jlink_handle_jlink_info_command)
 {
        if (jlink_get_version_info() == ERROR_OK)
        {
@@ -641,7 +625,7 @@ static int jlink_handle_jlink_info_command(struct command_context *cmd_ctx, char
        return ERROR_OK;
 }
 
-static int jlink_handle_jlink_hw_jtag_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(jlink_handle_jlink_hw_jtag_command)
 {
        switch (argc) {
        case 0:
@@ -665,6 +649,18 @@ static int jlink_handle_jlink_hw_jtag_command(struct command_context *cmd_ctx, c
        return ERROR_OK;
 }
 
+static int jlink_register_commands(struct command_context *cmd_ctx)
+{
+
+       register_command(cmd_ctx, NULL, "jlink_info",
+               &jlink_handle_jlink_info_command, COMMAND_EXEC,
+               "query jlink info");
+       register_command(cmd_ctx, NULL, "jlink_hw_jtag",
+               &jlink_handle_jlink_hw_jtag_command, COMMAND_EXEC,
+               "set/get jlink hw jtag command version [2 | 3]");
+       return ERROR_OK;
+}
+
 /***************************************************************************/
 /* J-Link tap functions */
 
@@ -767,15 +763,16 @@ static int jlink_tap_execute(void)
        if (!tap_length)
                return ERROR_OK;
 
-       /* JLink returns an extra NULL in packet when size of in message is a multiple of 64, creates problems with usb comms */
-       /* WARNING This will interfere with tap state counting */
-       while ((TAP_SCAN_BYTES(tap_length)%64) == 0)
+       /* JLink returns an extra NULL in packet when size of incoming
+        * message is a multiple of 64, creates problems with USB comms.
+        * WARNING: This will interfere with tap state counting. */
+       while ((DIV_ROUND_UP(tap_length, 8) % 64) == 0)
        {
                jlink_tap_append_step((tap_get_state() == TAP_RESET)?1:0, 0);
        }
 
        // number of full bytes (plus one if some would be left over)
-       byte_length = TAP_SCAN_BYTES(tap_length);
+       byte_length = DIV_ROUND_UP(tap_length, 8);
 
        bool use_jtag3 = jlink_hw_jtag_version >= 3;
        usb_out_buffer[0] = use_jtag3 ? EMU_CMD_HW_JTAG3 : EMU_CMD_HW_JTAG2;
@@ -812,7 +809,7 @@ static int jlink_tap_execute(void)
                DEBUG_JTAG_IO("pending scan result, length = %d", length);
 
 #ifdef _DEBUG_USB_COMMS_
-               jlink_debug_buffer(buffer, TAP_SCAN_BYTES(length));
+               jlink_debug_buffer(buffer, DIV_ROUND_UP(length, 8));
 #endif
 
                if (jtag_read_buffer(buffer, command) != ERROR_OK)

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)