summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2013-08-17 16:52:29 +0000
committerChristian Pointner <equinox@spreadspace.org>2013-08-17 16:52:29 +0000
commitd581af0dcf2b2ad5b575d060b4b03a5331b34ddf (patch)
tree12d47fd65cc0c9641497f97ea0b8f019199b6913
parentmoved tuer-rfid to teenstep (some port pins have changed) (diff)
added jtag_disable to make PORTF usable
git-svn-id: https://svn.spreadspace.org/avr/trunk@221 aa12f405-d877-488e-9caf-2d797e2a1cc7
-rw-r--r--lib/util.c11
-rw-r--r--lib/util.h1
-rw-r--r--tuer-rfid/tuer-rfid.c1
3 files changed, 13 insertions, 0 deletions
diff --git a/lib/util.c b/lib/util.c
index 5fe114a..8b74dfb 100644
--- a/lib/util.c
+++ b/lib/util.c
@@ -37,6 +37,17 @@ void cpu_init(void)
CPU_PRESCALE(0);
}
+void jtag_disable(void)
+{
+ uint8_t tempreg;
+ __asm __volatile("in %[tempreg], %[mcucr]" "\n\t"
+ "ori %[tempreg], %[jtd]" "\n\t"
+ "out %[mcucr], %[tempreg]" "\n\t"
+ "out %[mcucr], %[tempreg]"
+ : [tempreg] "=d" (tempreg)
+ : [mcucr] "I" (_SFR_IO_ADDR(MCUCR)), [jtd] "M" (_BV(JTD)));
+}
+
#if defined(__BOARD_teensy1__)
#define BOOTLOADER_VEC 0x3E00
#elif defined(__BOARD_teensy2__)
diff --git a/lib/util.h b/lib/util.h
index b8403b3..18c1eca 100644
--- a/lib/util.h
+++ b/lib/util.h
@@ -24,6 +24,7 @@
#define SPREADAVR_util_h_INCLUDED
void cpu_init(void);
+void jtag_disable(void);
void reset2bootloader(void);
#endif
diff --git a/tuer-rfid/tuer-rfid.c b/tuer-rfid/tuer-rfid.c
index 484659e..4fbe5de 100644
--- a/tuer-rfid/tuer-rfid.c
+++ b/tuer-rfid/tuer-rfid.c
@@ -119,6 +119,7 @@ int main(void)
wdt_disable();
cpu_init();
+ jtag_disable();
led_init();
anyio_init(115200, false);
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 200000));