From e6fe4dddb97835a60cc512fea977550d7ae4056f Mon Sep 17 00:00:00 2001 From: Steven Stallion Date: Wed, 3 May 2017 12:17:45 -0500 Subject: [PATCH] rtos: style corrections for uCOS-III This patch corrects a number of style infractions in RTOS support for uC/OS-III. These were missed during initial review last year prior to the 0.10.0 release. Change-Id: Ia2139f6ca381d4087fd8ee989f7a03ac474d7440 Signed-off-by: Steven Stallion Reviewed-on: http://openocd.zylin.com/4120 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/rtos/rtos_ucos_iii_stackings.c | 55 ++++++------ src/rtos/rtos_ucos_iii_stackings.h | 4 +- src/rtos/uCOS-III.c | 133 ++++++++++++++--------------- 3 files changed, 95 insertions(+), 97 deletions(-) diff --git a/src/rtos/rtos_ucos_iii_stackings.c b/src/rtos/rtos_ucos_iii_stackings.c index f2f5564fd..c260b7f80 100644 --- a/src/rtos/rtos_ucos_iii_stackings.c +++ b/src/rtos/rtos_ucos_iii_stackings.c @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2016 by Square, Inc. * + * Copyright (C) 2017 by Square, Inc. * * Steven Stallion * * * * This program is free software; you can redistribute it and/or modify * @@ -20,34 +20,35 @@ #include "config.h" #endif -#include "rtos.h" -#include "rtos_standard_stackings.h" -#include "target/armv7m.h" +#include +#include +#include +#include -static const struct stack_register_offset rtos_uCOS_III_Cortex_M_stack_offsets[ARMV7M_NUM_CORE_REGS] = { - { 0x20, 32 }, /* r0 */ - { 0x24, 32 }, /* r1 */ - { 0x28, 32 }, /* r2 */ - { 0x2c, 32 }, /* r3 */ - { 0x00, 32 }, /* r4 */ - { 0x04, 32 }, /* r5 */ - { 0x08, 32 }, /* r6 */ - { 0x0c, 32 }, /* r7 */ - { 0x10, 32 }, /* r8 */ - { 0x14, 32 }, /* r9 */ - { 0x18, 32 }, /* r10 */ - { 0x1c, 32 }, /* r11 */ - { 0x30, 32 }, /* r12 */ - { -2, 32 }, /* sp */ - { 0x34, 32 }, /* lr */ - { 0x38, 32 }, /* pc */ - { 0x3c, 32 }, /* xPSR */ +static const struct stack_register_offset rtos_uCOS_III_Cortex_M_stack_offsets[] = { + { 0x20, 32 }, /* r0 */ + { 0x24, 32 }, /* r1 */ + { 0x28, 32 }, /* r2 */ + { 0x2c, 32 }, /* r3 */ + { 0x00, 32 }, /* r4 */ + { 0x04, 32 }, /* r5 */ + { 0x08, 32 }, /* r6 */ + { 0x0c, 32 }, /* r7 */ + { 0x10, 32 }, /* r8 */ + { 0x14, 32 }, /* r9 */ + { 0x18, 32 }, /* r10 */ + { 0x1c, 32 }, /* r11 */ + { 0x30, 32 }, /* r12 */ + { -2, 32 }, /* sp */ + { 0x34, 32 }, /* lr */ + { 0x38, 32 }, /* pc */ + { 0x3c, 32 }, /* xPSR */ }; const struct rtos_register_stacking rtos_uCOS_III_Cortex_M_stacking = { - 0x40, /* stack_registers_size */ - -1, /* stack_growth_direction */ - ARMV7M_NUM_CORE_REGS, /* num_output_registers */ - rtos_generic_stack_align8, /* stack_alignment */ - rtos_uCOS_III_Cortex_M_stack_offsets /* register_offsets */ + 0x40, /* stack_registers_size */ + -1, /* stack_growth_direction */ + ARRAY_SIZE(rtos_uCOS_III_Cortex_M_stack_offsets), /* num_output_registers */ + rtos_generic_stack_align8, /* stack_alignment */ + rtos_uCOS_III_Cortex_M_stack_offsets /* register_offsets */ }; diff --git a/src/rtos/rtos_ucos_iii_stackings.h b/src/rtos/rtos_ucos_iii_stackings.h index c462cd745..f4703da37 100644 --- a/src/rtos/rtos_ucos_iii_stackings.h +++ b/src/rtos/rtos_ucos_iii_stackings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2016 by Square, Inc. * + * Copyright (C) 2017 by Square, Inc. * * Steven Stallion * * * * This program is free software; you can redistribute it and/or modify * @@ -23,7 +23,7 @@ #include "config.h" #endif -#include "rtos.h" +#include extern const struct rtos_register_stacking rtos_uCOS_III_Cortex_M_stacking; diff --git a/src/rtos/uCOS-III.c b/src/rtos/uCOS-III.c index 75cfe52bd..9021167db 100644 --- a/src/rtos/uCOS-III.c +++ b/src/rtos/uCOS-III.c @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2016 by Square, Inc. * + * Copyright (C) 2017 by Square, Inc. * * Steven Stallion * * * * This program is free software; you can redistribute it and/or modify * @@ -20,14 +20,14 @@ #include "config.h" #endif +#include #include -#include -#include "target/target.h" -#include "target/target_type.h" -#include "rtos.h" -#include "helper/log.h" -#include "helper/types.h" -#include "rtos/rtos_ucos_iii_stackings.h" +#include +#include +#include +#include + +#include "rtos_ucos_iii_stackings.h" #ifndef UCOS_III_MAX_STRLEN #define UCOS_III_MAX_STRLEN 64 @@ -55,18 +55,18 @@ struct uCOS_III_params { static const struct uCOS_III_params uCOS_III_params_list[] = { { - "cortex_m", /* target_name */ - sizeof(uint32_t), /* pointer_width */ - 0, /* thread_stack_offset */ - 0, /* thread_name_offset */ - 0, /* thread_state_offset */ - 0, /* thread_priority_offset */ - 0, /* thread_prev_offset */ - 0, /* thread_next_offset */ - false, /* thread_offsets_updated */ - 1, /* threadid_start */ + "cortex_m", /* target_name */ + sizeof(uint32_t), /* pointer_width */ + 0, /* thread_stack_offset */ + 0, /* thread_name_offset */ + 0, /* thread_state_offset */ + 0, /* thread_priority_offset */ + 0, /* thread_prev_offset */ + 0, /* thread_next_offset */ + false, /* thread_offsets_updated */ + 1, /* threadid_start */ &rtos_uCOS_III_Cortex_M_stacking, /* stacking_info */ - 0, /* num_threads */ + 0, /* num_threads */ }, }; @@ -159,10 +159,10 @@ static int uCOS_III_find_last_thread_address(struct rtos *rtos, symbol_address_t symbol_address_t thread_list_address = 0; retval = target_read_memory(rtos->target, - rtos->symbols[uCOS_III_VAL_OSTaskDbgListPtr].address, - params->pointer_width, - 1, - (void *)&thread_list_address); + rtos->symbols[uCOS_III_VAL_OSTaskDbgListPtr].address, + params->pointer_width, + 1, + (void *)&thread_list_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread list address"); return retval; @@ -173,10 +173,10 @@ static int uCOS_III_find_last_thread_address(struct rtos *rtos, symbol_address_t *thread_address = thread_list_address; retval = target_read_memory(rtos->target, - thread_list_address + params->thread_next_offset, - params->pointer_width, - 1, - (void *)&thread_list_address); + thread_list_address + params->thread_next_offset, + params->pointer_width, + 1, + (void *)&thread_list_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read next thread address"); return retval; @@ -227,10 +227,10 @@ static int uCOS_III_update_thread_offsets(struct rtos *rtos) const struct thread_offset_map *thread_offset_map = &thread_offset_maps[i]; int retval = target_read_memory(rtos->target, - rtos->symbols[thread_offset_map->symbol_value].address, - params->pointer_width, - 1, - (void *)thread_offset_map->thread_offset); + rtos->symbols[thread_offset_map->symbol_value].address, + params->pointer_width, + 1, + (void *)thread_offset_map->thread_offset); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread offset"); return retval; @@ -244,7 +244,7 @@ static int uCOS_III_update_thread_offsets(struct rtos *rtos) static int uCOS_III_detect_rtos(struct target *target) { return target->rtos->symbols != NULL && - target->rtos->symbols[uCOS_III_VAL_OSRunning].address != 0; + target->rtos->symbols[uCOS_III_VAL_OSRunning].address != 0; } static int uCOS_III_reset_handler(struct target *target, enum target_reset_mode reset_mode, void *priv) @@ -263,8 +263,7 @@ static int uCOS_III_create(struct target *target) for (size_t i = 0; i < ARRAY_SIZE(uCOS_III_params_list); i++) if (strcmp(uCOS_III_params_list[i].target_name, target->type->name) == 0) { - params = malloc(sizeof(*params) + - UCOS_III_MAX_THREADS * sizeof(*params->threads)); + params = malloc(sizeof(*params) + (UCOS_III_MAX_THREADS * sizeof(*params->threads))); if (params == NULL) { LOG_ERROR("uCOS-III: out of memory"); return ERROR_FAIL; @@ -294,8 +293,8 @@ static int uCOS_III_update_threads(struct rtos *rtos) uint8_t rtos_running; retval = target_read_u8(rtos->target, - rtos->symbols[uCOS_III_VAL_OSRunning].address, - &rtos_running); + rtos->symbols[uCOS_III_VAL_OSRunning].address, + &rtos_running); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read RTOS running"); return retval; @@ -327,10 +326,10 @@ static int uCOS_III_update_threads(struct rtos *rtos) symbol_address_t current_thread_address = 0; retval = target_read_memory(rtos->target, - rtos->symbols[uCOS_III_VAL_OSTCBCurPtr].address, - params->pointer_width, - 1, - (void *)¤t_thread_address); + rtos->symbols[uCOS_III_VAL_OSTCBCurPtr].address, + params->pointer_width, + 1, + (void *)¤t_thread_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read current thread address"); return retval; @@ -338,8 +337,8 @@ static int uCOS_III_update_threads(struct rtos *rtos) /* read number of tasks */ retval = target_read_u16(rtos->target, - rtos->symbols[uCOS_III_VAL_OSTaskQty].address, - (void *)&rtos->thread_count); + rtos->symbols[uCOS_III_VAL_OSTaskQty].address, + (void *)&rtos->thread_count); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread count"); return retval; @@ -368,9 +367,7 @@ static int uCOS_III_update_threads(struct rtos *rtos) char thread_str_buffer[UCOS_III_MAX_STRLEN + 1]; /* find or create new threadid */ - retval = uCOS_III_find_or_create_thread(rtos, - thread_address, - &thread_detail->threadid); + retval = uCOS_III_find_or_create_thread(rtos, thread_address, &thread_detail->threadid); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to find or create thread"); return retval; @@ -385,19 +382,19 @@ static int uCOS_III_update_threads(struct rtos *rtos) symbol_address_t thread_name_address = 0; retval = target_read_memory(rtos->target, - thread_address + params->thread_name_offset, - params->pointer_width, - 1, - (void *)&thread_name_address); + thread_address + params->thread_name_offset, + params->pointer_width, + 1, + (void *)&thread_name_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to name address"); return retval; } retval = target_read_buffer(rtos->target, - thread_name_address, - sizeof(thread_str_buffer), - (void *)thread_str_buffer); + thread_name_address, + sizeof(thread_str_buffer), + (void *)thread_str_buffer); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread name"); return retval; @@ -411,16 +408,16 @@ static int uCOS_III_update_threads(struct rtos *rtos) uint8_t thread_priority; retval = target_read_u8(rtos->target, - thread_address + params->thread_state_offset, - &thread_state); + thread_address + params->thread_state_offset, + &thread_state); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread state"); return retval; } retval = target_read_u8(rtos->target, - thread_address + params->thread_priority_offset, - &thread_priority); + thread_address + params->thread_priority_offset, + &thread_priority); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read thread priority"); return retval; @@ -434,15 +431,15 @@ static int uCOS_III_update_threads(struct rtos *rtos) thread_state_str = "Unknown"; snprintf(thread_str_buffer, sizeof(thread_str_buffer), "State: %s, Priority: %d", - thread_state_str, thread_priority); + thread_state_str, thread_priority); thread_detail->extra_info_str = strdup(thread_str_buffer); /* read previous thread address */ retval = target_read_memory(rtos->target, - thread_address + params->thread_prev_offset, - params->pointer_width, - 1, - (void *)&thread_address); + thread_address + params->thread_prev_offset, + params->pointer_width, + 1, + (void *)&thread_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read previous thread address"); return retval; @@ -470,19 +467,19 @@ static int uCOS_III_get_thread_reg_list(struct rtos *rtos, threadid_t threadid, symbol_address_t stack_address = 0; retval = target_read_memory(rtos->target, - thread_address + params->thread_stack_offset, - params->pointer_width, - 1, - (void *)&stack_address); + thread_address + params->thread_stack_offset, + params->pointer_width, + 1, + (void *)&stack_address); if (retval != ERROR_OK) { LOG_ERROR("uCOS-III: failed to read stack address"); return retval; } return rtos_generic_stack_read(rtos->target, - params->stacking_info, - stack_address, - hex_reg_list); + params->stacking_info, + stack_address, + hex_reg_list); } static int uCOS_III_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[])