From d1567978c987304eb3f93bb77f7fec5f7672fb1a Mon Sep 17 00:00:00 2001 From: skarg Date: Wed, 31 Oct 2012 16:30:18 +0000 Subject: [PATCH] Adjusted BDK port to compile for ATmega1284p for IAR. --- bacnet-stack/ports/bdk-atxx4-mstp/bacnet.ewp | 24 ++++++++++---------- bacnet-stack/ports/bdk-atxx4-mstp/hardware.h | 5 ++++ bacnet-stack/ports/bdk-atxx4-mstp/iar2gcc.h | 22 ++++++++++++++++++ 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/bacnet.ewp b/bacnet-stack/ports/bdk-atxx4-mstp/bacnet.ewp index 97c41ed8..31b246d2 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/bacnet.ewp +++ b/bacnet-stack/ports/bdk-atxx4-mstp/bacnet.ewp @@ -123,7 +123,7 @@ @@ -802,7 +802,7 @@ diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/hardware.h b/bacnet-stack/ports/bdk-atxx4-mstp/hardware.h index 74b4ff83..be86f8d7 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/hardware.h +++ b/bacnet-stack/ports/bdk-atxx4-mstp/hardware.h @@ -32,8 +32,13 @@ /* IAR compiler specific configuration */ #if defined(__ICCAVR__) +#if defined(__ATmega644P__) #include #endif +#if defined(__ATmega1284P__) +#include +#endif +#endif /* AVR-GCC compiler specific configuration */ #if defined(__GNUC__) diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/iar2gcc.h b/bacnet-stack/ports/bdk-atxx4-mstp/iar2gcc.h index 0e49077f..a41fadbd 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/iar2gcc.h +++ b/bacnet-stack/ports/bdk-atxx4-mstp/iar2gcc.h @@ -308,6 +308,28 @@ unsigned char __uint8_eeprom_load( #define WDTO_2S 7 #endif +/* power macros in GCC-AVR */ +#if (defined(__ICCAVR__) && (defined(__ATmega644P__))) || \ + (defined(__CROSSWORKS_AVR) && (__TARGET_PROCESSOR == ATmega644P)) +#define power_adc_enable() (PRR &= (uint8_t)~(1 << PRADC)) +#define power_spi_enable() (PRR &= (uint8_t)~(1 << PRSPI)) +#define power_usart0_enable() (PRR &= (uint8_t)~(1 << PRUSART0)) +#define power_usart1_enable() (PRR &= (uint8_t)~(1 << PRUSART1)) +#define power_timer0_enable() (PRR &= (uint8_t)~(1 << PRTIM0)) +#define power_timer1_enable() (PRR &= (uint8_t)~(1 << PRTIM1)) +#define power_timer2_enable() (PRR &= (uint8_t)~(1 << PRTIM2)) +#endif +#if (defined(__ICCAVR__) && (defined(__ATmega1284P__))) || \ + (defined(__CROSSWORKS_AVR) && (__TARGET_PROCESSOR == ATmega1284P)) +#define power_adc_enable() (PRR0 &= (uint8_t)~(1 << PRADC)) +#define power_spi_enable() (PRR0 &= (uint8_t)~(1 << PRSPI)) +#define power_usart0_enable() (PRR0 &= (uint8_t)~(1 << PRUSART0)) +#define power_usart1_enable() (PRR0 &= (uint8_t)~(1 << PRUSART1)) +#define power_timer0_enable() (PRR0 &= (uint8_t)~(1 << PRTIM0)) +#define power_timer1_enable() (PRR0 &= (uint8_t)~(1 << PRTIM1)) +#define power_timer2_enable() (PRR0 &= (uint8_t)~(1 << PRTIM2)) +#endif + #if defined(__CROSSWORKS_AVR) #define inline #endif