From ab2b97c9981345fadbcd2a6e82c84643bc471543 Mon Sep 17 00:00:00 2001 From: Nélio Laranjeiro Date: Wed, 28 Jan 2009 23:43:25 +0100 Subject: tal/avr/modules/trace: Implement the correct version of the trace (See #59). --- digital/avr/modules/trace/test/test_host/Makefile | 10 ++- digital/avr/modules/trace/test/test_host/events.h | 36 +++++++++++ .../avr/modules/trace/test/test_host/flash_stub.c | 56 ----------------- .../avr/modules/trace/test/test_host/test-trace.c | 71 ++++++++++++++++------ 4 files changed, 95 insertions(+), 78 deletions(-) create mode 100644 digital/avr/modules/trace/test/test_host/events.h delete mode 100644 digital/avr/modules/trace/test/test_host/flash_stub.c (limited to 'digital/avr/modules/trace/test') diff --git a/digital/avr/modules/trace/test/test_host/Makefile b/digital/avr/modules/trace/test/test_host/Makefile index cc22a863..71ec0899 100644 --- a/digital/avr/modules/trace/test/test_host/Makefile +++ b/digital/avr/modules/trace/test/test_host/Makefile @@ -2,9 +2,13 @@ BASE = ../../../.. HOST_PROGS = test-trace -test-trace_SOURCES = test-trace.c flash_stub.c +test-trace_SOURCES = test-trace.c -MODULES = trace -OPTIMIZE = -O2 +MODULES = trace flash/stub +#OPTIMIZE = -O2 +OPTIMIZE = include $(BASE)/make/Makefile.gen + +all: + touch flash.apb diff --git a/digital/avr/modules/trace/test/test_host/events.h b/digital/avr/modules/trace/test/test_host/events.h new file mode 100644 index 00000000..d5a972a1 --- /dev/null +++ b/digital/avr/modules/trace/test/test_host/events.h @@ -0,0 +1,36 @@ +#ifndef events_h +#define events_h +/* events_h */ +/* {{{ + * + * Copyright (C) 2008 APBTeam + * + * APBTeam: + * Web: http://apbteam.org/ + * Email: team AT apbteam DOT org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * }}} */ + +enum events_t +{ + TRACE_ASSERV__RIGHT_MOTOR, + TRACE_ASSERV__LEFT_MOTOR, + TRACE_IA__IA_CMD, + TRACE_NB +}; + +#endif /* events_h */ diff --git a/digital/avr/modules/trace/test/test_host/flash_stub.c b/digital/avr/modules/trace/test/test_host/flash_stub.c deleted file mode 100644 index 849e3b34..00000000 --- a/digital/avr/modules/trace/test/test_host/flash_stub.c +++ /dev/null @@ -1,56 +0,0 @@ -/* flash_stub.c */ -/* avr.trace - AVR TRACE use. {{{ - * - * Copyright (C) 2008 Nélio Laranjeiro - * - * APBTeam: - * Web: http://apbteam.org/ - * Email: team AT apbteam DOT org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * }}} */ -#include "modules/flash/flash.h" -#include - -uint8_t -flash_init (void) -{ - return 0x1; -} - -uint32_t -flash_sector_next(uint32_t addr) -{ - return 0; -} - -void -flash_write (uint32_t addr, uint8_t arg) -{ - printf ("%s -- %x\n", __FUNCTION__, arg); - printf ("addr : %x\n", addr); -} - -uint8_t -flash_read (uint32_t addr) -{ - return 0; -} - -void -flash_erase (uint8_t cmd, uint32_t addr) -{ -} diff --git a/digital/avr/modules/trace/test/test_host/test-trace.c b/digital/avr/modules/trace/test/test_host/test-trace.c index e56be24f..aabd8e16 100644 --- a/digital/avr/modules/trace/test/test_host/test-trace.c +++ b/digital/avr/modules/trace/test/test_host/test-trace.c @@ -24,39 +24,72 @@ * }}} */ #include "common.h" #include "../../trace.h" +#include "modules/flash/flash.h" #include +#include "events.h" -int -main (void) +void +flood (void) { - uint8_t val1 = 0xEF; - uint16_t val2 = 0x1234; - uint32_t val3 = 0x456789AB; + uint8_t cmd; + uint32_t addr; + uint32_t count; + + uint32_t speed; + uint32_t position; + uint16_t acc; + + uint16_t arg1; + uint8_t arg2; + uint32_t arg3; trace_init (); - printf ("First trace\n"); - TRACE (val1); + /* Flood the flash memory with traces. */ + /* A little more than 3 memory sectors, a sector is 4 kbytes. */ + for (count = 0; count < 2000; count ++) + { + /* Right motor. */ + speed = 10; + position = 11; + acc = 12; + arg1 = 10; + arg2 = 11; + arg3 = 12; - printf ("Second trace\n"); - TRACE (val2); + cmd = TRACE_ASSERV__RIGHT_MOTOR; + TRACE (cmd, speed, position, acc); + cmd = TRACE_ASSERV__LEFT_MOTOR; + TRACE (cmd, speed, position, acc); + cmd = TRACE_IA__IA_CMD; + TRACE (cmd, arg1, arg2, arg3); + } +} - printf ("Third trace\n"); - TRACE (val3); +void +dump (void) +{ + uint8_t status; + uint32_t addr; - printf ("Fourth trace\n"); - TRACE (val1, val2); + status = flash_init (); - printf ("Fifth trace\n"); - TRACE (val1, val3); + for (addr = 0; addr < FLASH_ADDRESS_HIGH; addr ++) + { + printf ("%02x", flash_read (addr)); + } +} - printf ("sixth one\n"); - TRACE (val1, val2, val3); +int +main (void) +{ + uint8_t i; - printf ("last one\n"); - TRACE (val3, val1, val2); + for (i = 0; i < 30; i++) + flood (); + dump(); return 0; } -- cgit v1.2.3