Transform 'u32' to 'uint32_t' in src/target
[fw/openocd] / src / target / trace.c
index 536e34a5f427cf0149d4b7e4cc57a6b82731fe0a..79bb599022b3d909741472d69c9ecad9a00f9473 100644 (file)
 #include "config.h"
 #endif
 
-#include "replacements.h"
 #include "log.h"
 #include "trace.h"
 #include "target.h"
-#include "command.h"
 
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-int trace_point(target_t *target, int number)
+int trace_point(target_t *target, uint32_t number)
 {
        trace_t *trace = target->trace_info;
 
-       DEBUG("tracepoint: %i", number);
+       LOG_DEBUG("tracepoint: %i", number);
        
        if (number < trace->num_trace_points)
                trace->trace_points[number].hit_counter++;
@@ -53,18 +47,18 @@ int trace_point(target_t *target, int number)
        return ERROR_OK;
 }
 
-int handle_trace_point_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int handle_trace_point_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
        target_t *target = get_current_target(cmd_ctx);
        trace_t *trace = target->trace_info;
        
        if (argc == 0)
        {
-               int i;
+               uint32_t i;
                
                for (i = 0; i < trace->num_trace_points; i++)
                {
-                       command_print(cmd_ctx, "trace point 0x%8.8x (%"PRIi64" times hit)",
+                       command_print(cmd_ctx, "trace point 0x%8.8x (%lld times hit)",
                                        trace->trace_points[i].address,
                                        trace->trace_points[i].hit_counter);
                }
@@ -75,7 +69,10 @@ int handle_trace_point_command(struct command_context_s *cmd_ctx, char *cmd, cha
        if (!strcmp(args[0], "clear"))
        {
                if (trace->trace_points)
+               {
                        free(trace->trace_points);
+                       trace->trace_points = NULL;
+               }
                trace->num_trace_points = 0;
                trace->trace_points_size = 0;
                
@@ -96,7 +93,7 @@ int handle_trace_point_command(struct command_context_s *cmd_ctx, char *cmd, cha
        return ERROR_OK;
 }
 
-int handle_trace_history_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+static int handle_trace_history_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
        target_t *target = get_current_target(cmd_ctx);
        trace_t *trace = target->trace_info;
@@ -116,16 +113,20 @@ int handle_trace_history_command(struct command_context_s *cmd_ctx, char *cmd, c
                        free(trace->trace_history);
                
                trace->trace_history_size = strtoul(args[0], NULL, 0);
-               trace->trace_history = malloc(sizeof(u32) * trace->trace_history_size);
+               trace->trace_history = malloc(sizeof(uint32_t) * trace->trace_history_size);
                
                command_print(cmd_ctx, "new trace history size: %i", trace->trace_history_size);
        }
        else
        {
-               int i;
-               int first = 0;
-               int last = trace->trace_history_pos;
-               
+               uint32_t i;
+               uint32_t first = 0;
+               uint32_t last = trace->trace_history_pos;
+
+               if ( !trace->trace_history_size ) {
+                       command_print(cmd_ctx, "trace history buffer is not allocated");
+                       return ERROR_OK;
+               }
                if (trace->trace_history_overflowed)
                {
                        first = trace->trace_history_pos;
@@ -136,7 +137,7 @@ int handle_trace_history_command(struct command_context_s *cmd_ctx, char *cmd, c
                {
                        if (trace->trace_history[i % trace->trace_history_size] < trace->num_trace_points)
                        {
-                               u32 address;
+                               uint32_t address;
                                address = trace->trace_points[trace->trace_history[i % trace->trace_history_size]].address;
                                command_print(cmd_ctx, "trace point %i: 0x%8.8x",
                                        trace->trace_history[i % trace->trace_history_size],