From 6386c12af8af2dc7099dca3ba3b967016bfccf0d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 24 May 2012 22:18:52 +0000 Subject: added reset2bootloader function git-svn-id: https://svn.spreadspace.org/avr/trunk@30 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- lib/led.c | 3 ++- lib/util.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- lib/util.h | 1 + 3 files changed, 51 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/led.c b/lib/led.c index 60436e2..ea5bcc3 100644 --- a/lib/led.c +++ b/lib/led.c @@ -20,7 +20,8 @@ * along with spreadspace avr utils. If not, see . */ -#include "avr/io.h" +#include + #include "led.h" #if defined(__BOARD_arduinoUno__) || defined(__BOARD_AvrNetIo__) diff --git a/lib/util.c b/lib/util.c index 3bf17b1..76f5104 100644 --- a/lib/util.c +++ b/lib/util.c @@ -20,7 +20,10 @@ * along with spreadspace avr utils. If not, see . */ -#include "avr/io.h" +#include +#include +#include + #include "util.h" #if defined(CLKPR) @@ -33,3 +36,47 @@ void cpu_init(void) { CPU_PRESCALE(0); } + +void reset2bootloader(void) +{ +#if defined(__BOARD_teensy1__) || defined(__BOARD_teensy1pp__) || defined(__BOARD_teensy2__) || defined(__BOARD_teensy2pp__) || defined(__BOARD_hhd70dongle__) + cli(); + // disable watchdog, if enabled + // disable all peripherals + UDCON = 1; + USBCON = (1<