From 91732f87fc955cf93ab83f8fc955b97986e53ff2 Mon Sep 17 00:00:00 2001 From: Michel Pollet Date: Tue, 15 Dec 2009 21:42:25 +0000 Subject: [PATCH] ELF: Updated example firmware to generate new traces Example firmware declares two traces that will generate a trace file automaticaly when run with run_avr. The file is created at load time using the .mmcu declarations. Signed-off-by: Michel Pollet --- tests/atmega88_example.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/atmega88_example.c b/tests/atmega88_example.c index fd15e94..21dbd8c 100644 --- a/tests/atmega88_example.c +++ b/tests/atmega88_example.c @@ -20,6 +20,18 @@ #include "avr_mcu_section.h" AVR_MCU(F_CPU, "atmega88"); +/* + * This small section tells simavr to generate a VCD trace dump with changes to these + * registers. + * Opening it with gtkwave will show you the data being pumped out into the data register + * UDR0, and the UDRE0 bit being set, then cleared + */ +const struct avr_mmcu_vcd_trace_t _mytrace[] _MMCU_ = { + { AVR_MCU_VCD_SYMBOL("UDR0"), .what = (void*)&UDR0, }, + { AVR_MCU_VCD_SYMBOL("UDRE0"), .mask = (1 << UDRE0), .what = (void*)&UCSR0A, }, +}; + + /* declare this in a .eeprom ELF section */ uint32_t value EEMEM = 0xdeadbeef; -- 2.39.5