extern struct rtos_type Linux_os;
extern struct rtos_type ChibiOS_rtos;
extern struct rtos_type embKernel_rtos;
+extern struct rtos_type mqx_rtos;
static struct rtos_type *rtos_types[] = {
&ThreadX_rtos,
&Linux_os,
&ChibiOS_rtos,
&embKernel_rtos,
+ &mqx_rtos,
NULL
};
if (detail->extra_info_str != NULL)
str_size += strlen(detail->extra_info_str);
- char *tmp_str = malloc(str_size + 7);
+ char *tmp_str = calloc(str_size + 7, sizeof(char));
char *tmp_str_ptr = tmp_str;
if (detail->display_str != NULL)
return ERROR_OK;
} else if (packet[0] == 'H') { /* Set current thread ( 'c' for step and continue, 'g' for
* all other operations ) */
- if ((packet[1] == 'g') && (target->rtos != NULL))
+ if ((packet[1] == 'g') && (target->rtos != NULL)) {
sscanf(packet, "Hg%16" SCNx64, &target->rtos->current_threadid);
+ LOG_DEBUG("RTOS: GDB requested to set current thread to 0x%" PRIx64 "\r\n",
+ target->rtos->current_threadid);
+ }
gdb_put_packet(connection, "OK", 2);
return ERROR_OK;
}
((current_threadid != target->rtos->current_thread) ||
(target->smp))) { /* in smp several current thread are possible */
char *hex_reg_list;
+
+ LOG_DEBUG("RTOS: getting register list for thread 0x%" PRIx64
+ ", target->rtos->current_thread=0x%" PRIx64 "\r\n",
+ current_threadid,
+ target->rtos->current_thread);
+
target->rtos->type->get_thread_reg_list(target->rtos,
current_threadid,
&hex_reg_list);
LOG_ERROR("Error reading stack frame from thread");
return retval;
}
+ LOG_DEBUG("RTOS: Read stack frame at 0x%x\r\n", address);
+
#if 0
LOG_OUTPUT("Stack Data :");
for (i = 0; i < stacking->stack_registers_size; i++)