#include "common.h"
#include <avr/interrupt.h>
+#include <avr/wdt.h>
#include <stdlib.h>
#include <stdio.h>
#include "rtc.h"
#include "debug.h"
-static uint8_t mcusr;
+uint8_t mcusr __attribute__ ((section (".noinit")));
-/*--------------------------------------------------------------------------*/
#if DEBUG
-
__attribute__ ((naked)) __attribute__ ((section (".init3")))
void preset_ram (void)
{
*p = 0xdd;
}
+#endif
+
+__attribute__ ((naked)) __attribute__ ((section (".init3")))
+void get_mcusr (void)
+{
+ /* save and clear reset reason(s) */
+ /* TODO: move to init section? */
+ mcusr = MCUSR;
+ MCUSR = 0;
+
+ wdt_disable();
+}
+
+/*--------------------------------------------------------------------------*/
+#if DEBUG
static const FLASH char * const FLASH rreasons[] = {
FSTR("Power on"),
static
void setup_avr(void)
{
- /* save and clear reset reason(s) */
- /* TODO: move to init section? */
- mcusr = MCUSR;
- MCUSR = 0;
-
- /* WD */
-
/* CPU */
/* Disable JTAG Interface regardless of the JTAGEN fuse setting. */