AVR: Need to use rjmp, not jmp, in vector table

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3707 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-06-15 20:43:32 +00:00
parent 363e6bd62a
commit 9fb2297aef
3 changed files with 45 additions and 2 deletions

View File

@ -119,7 +119,7 @@
****************************************************************************/
.macro vector name
jmp \name
rjmp \name
.endm
/****************************************************************************

View File

@ -116,7 +116,7 @@
****************************************************************************/
.macro vector name
jmp \name
rjmp \name
.endm
/****************************************************************************

View File

@ -47,6 +47,28 @@
* Private Definitions
**************************************************************************/
#if defined(CONFIG_WDTO_15MS)
# define WDTO_VALUE WDTO_15MS
#elif defined(CONFIG_WDTO_30MS)
# define WDTO_VALUE WDTO_30MS
#elif defined(CONFIG_WDTO_60MS)
# define WDTO_VALUE WDTO_60MS
#elif defined(CONFIG_WDTO_120MS)
# define WDTO_VALUE WDTO_120MS
#elif defined(CONFIG_WDTO_1250MS)
# define WDTO_VALUE WDTO_250MS
#elif defined(CONFIG_WDTO_500MS)
# define WDTO_VALUE WDTO_500MS
#elif defined(CONFIG_WDTO_1S)
# define WDTO_VALUE WDTO_1S
#elif defined(CONFIG_WDTO_2S)
# define WDTO_VALUE WDTO_2S
#elif defined(CONFIG_WDTO_4S)
# define WDTO_VALUE WDTO_4S
#else /* if defined(CONFIG_WDTO_8S) */
# define WDTO_VALUE WDTO_8S
#endif
/**************************************************************************
* Private Types
**************************************************************************/
@ -67,6 +89,23 @@
* Private Functions
**************************************************************************/
/**************************************************************************
* Name: up_wdtinit
*
* Description:
* Initialize the watchdog per the NuttX configuration.
*
**************************************************************************/
static inline void up_wdtinit(void)
{
#ifndef CONFIG_AVR_WDT
wdt_disable();
#else
wdt_enable(WDTO_VALUE);
#endif
}
/**************************************************************************
* Public Functions
**************************************************************************/
@ -83,6 +122,10 @@
void up_lowinit(void)
{
/* Initialize the watchdog timer */
up_wdtinit();
/* Initialize a console (probably a serial console) */
up_consoleinit();