else
                h->version.jtag_api_max = STLINK_JTAG_API_V1;
 
-       LOG_DEBUG("STLINK v%d JTAG v%d API v%d SWIM v%d VID %04X PID %04X",
+       LOG_DEBUG("STLINK v%d JTAG v%d API v%d SWIM v%d VID 0x%04X PID 0x%04X",
                h->version.stlink,
                h->version.jtag,
                (h->version.jtag_api_max == STLINK_JTAG_API_V1) ? 1 : 2,
        if (res != ERROR_OK)
                return res;
 
-       LOG_DEBUG("MODE: %02X", mode);
+       LOG_DEBUG("MODE: 0x%02X", mode);
 
        /* try to exit current mode */
        switch (mode) {
        if (res != ERROR_OK)
                return res;
 
-       LOG_DEBUG("MODE: %02X", mode);
+       LOG_DEBUG("MODE: 0x%02X", mode);
 
        /* set selected mode */
        switch (h->transport) {
        if (res != ERROR_OK)
                return res;
 
-       LOG_DEBUG("MODE: %02X", mode);
+       LOG_DEBUG("MODE: 0x%02X", mode);
 
        return ERROR_OK;
 }
 
        *idcode = le_to_h_u32(h->databuf);
 
-       LOG_DEBUG("IDCODE: %08X", *idcode);
+       LOG_DEBUG("IDCODE: 0x%08X", *idcode);
 
        return ERROR_OK;
 }
        if (res != ERROR_OK)
                return res;
 
-       LOG_DEBUG("RESET: %08X", h->databuf[0]);
+       LOG_DEBUG("RESET: 0x%08X", h->databuf[0]);
 
        return ERROR_OK;
 }
        const uint16_t vids[] = { param->vid, 0 };
        const uint16_t pids[] = { param->pid, 0 };
 
-       LOG_DEBUG("transport: %d vid: %04x pid: %04x", param->transport,
+       LOG_DEBUG("transport: %d vid: 0x%04x pid: 0x%04x", param->transport,
                param->vid, param->pid);
 
        if (jtag_libusb_open(vids, pids, &h->fd) != ERROR_OK) {
 
        /* compare usb vid/pid */
        if ((param->vid != h->vid) || (param->pid != h->pid))
-               LOG_INFO("vid/pid are not identical: %04X/%04X %04X/%04X",
+               LOG_INFO("vid/pid are not identical: 0x%04X/0x%04X 0x%04X/0x%04X",
                        param->vid, param->pid,
                        h->vid, h->pid);
 
 
                armv7m->exception_number = 0;
        }
 
-       LOG_DEBUG("entered debug state in core mode: %s at PC 0x%" PRIx32 ", target->state: %s",
+       LOG_DEBUG("entered debug state in core mode: %s at PC 0x%08" PRIx32 ", target->state: %s",
                armv7m_mode_strings[armv7m->core_mode],
                *(uint32_t *)(arm->pc->value),
                target_state_name(target));
                        return retval;
 
                target_call_event_callbacks(target, TARGET_EVENT_HALTED);
-               LOG_DEBUG("halted: PC: 0x%x", buf_get_u32(armv7m->arm.pc->value, 0, 32));
+               LOG_DEBUG("halted: PC: 0x%08x", buf_get_u32(armv7m->arm.pc->value, 0, 32));
        }
 
        return ERROR_OK;
        struct breakpoint *breakpoint = NULL;
        struct reg *pc;
 
-       LOG_DEBUG("%s %d %x %d %d", __func__, current, address,
+       LOG_DEBUG("%s %d 0x%08x %d %d", __func__, current, address,
                        handle_breakpoints, debug_execution);
 
        if (target->state != TARGET_HALTED) {
        stlink_debug_entry(target);
        target_call_event_callbacks(target, TARGET_EVENT_HALTED);
 
-       LOG_INFO("halted: PC: 0x%x", buf_get_u32(armv7m->arm.pc->value, 0, 32));
+       LOG_INFO("halted: PC: 0x%08x", buf_get_u32(armv7m->arm.pc->value, 0, 32));
 
        return ERROR_OK;
 }
        if (!count || !buffer)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       LOG_DEBUG("%s %x %d %d", __func__, address, size, count);
+       LOG_DEBUG("%s 0x%08x %d %d", __func__, address, size, count);
 
        /* prepare byte count, buffer threshold
         * and address increment for none 32bit access
        if (!count || !buffer)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       LOG_DEBUG("%s %x %d %d", __func__, address, size, count);
+       LOG_DEBUG("%s 0x%08x %d %d", __func__, address, size, count);
 
        /* prepare byte count, buffer threshold
         * and address increment for none 32bit access