aboutsummaryrefslogtreecommitdiffstats
path: root/demos/AVR-ATmega128-GCC
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-12-18 21:00:27 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-12-18 21:00:27 +0000
commitce5974e5de90403c272854a2be4e47d924575186 (patch)
tree952413c411fb6061d4187680a4be63ecbb6c4617 /demos/AVR-ATmega128-GCC
parentb07970d18cd1168e2858ae5423e7f1ebf9e275be (diff)
downloadChibiOS-ce5974e5de90403c272854a2be4e47d924575186.tar.gz
ChibiOS-ce5974e5de90403c272854a2be4e47d924575186.tar.bz2
ChibiOS-ce5974e5de90403c272854a2be4e47d924575186.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1439 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'demos/AVR-ATmega128-GCC')
-rw-r--r--demos/AVR-ATmega128-GCC/Makefile31
-rw-r--r--demos/AVR-ATmega128-GCC/board.c84
-rw-r--r--demos/AVR-ATmega128-GCC/board.h116
3 files changed, 17 insertions, 214 deletions
diff --git a/demos/AVR-ATmega128-GCC/Makefile b/demos/AVR-ATmega128-GCC/Makefile
index 1ae0a672a..3f42dce8e 100644
--- a/demos/AVR-ATmega128-GCC/Makefile
+++ b/demos/AVR-ATmega128-GCC/Makefile
@@ -81,21 +81,23 @@ OBJDIR = .
# Imported source files
CHIBIOS = ../..
-include ${CHIBIOS}/os/hal/hal.mk
-include ${CHIBIOS}/os/hal/platforms/AVR/platform.mk
-include ${CHIBIOS}/os/ports/GCC/AVR/port.mk
-include ${CHIBIOS}/os/kernel/kernel.mk
-include ${CHIBIOS}/test/test.mk
+include $(CHIBIOS)/boards/OLIMEX_AVR_MT_128/board.mk
+include $(CHIBIOS)/os/hal/platforms/AVR/platform.mk
+include $(CHIBIOS)/os/hal/hal.mk
+include $(CHIBIOS)/os/ports/GCC/AVR/port.mk
+include $(CHIBIOS)/os/kernel/kernel.mk
+include $(CHIBIOS)/test/test.mk
# List C source files here. (C dependencies are automatically generated.)
-SRC = ${PORTSRC} \
- ${KERNSRC} \
- ${TESTSRC} \
- ${HALSRC} \
- ${PLATFORMSRC} \
- ${CHIBIOS}/os/various/evtimer.c \
- lcd.c board.c main.c
+SRC = $(PORTSRC) \
+ $(KERNSRC) \
+ $(TESTSRC) \
+ $(HALSRC) \
+ $(PLATFORMSRC) \
+ $(BOARDSRC) \
+ $(CHIBIOS)/os/various/evtimer.c \
+ lcd.c main.c
# List C++ source files here. (C dependencies are automatically generated.)
@@ -129,8 +131,9 @@ DEBUG = dwarf-2
# Each directory must be seperated by a space.
# Use forward slashes for directory separators.
# For a directory that has spaces, enclose it in quotes.
-EXTRAINCDIRS = $(PORTINC) $(KERNINC) $(TESTINC) $(HALINC) $(PLATFORMINC) \
- ${CHIBIOS}/os/various
+EXTRAINCDIRS = $(PORTINC) $(KERNINC) $(TESTINC) \
+ $(HALINC) $(PLATFORMINC) $(BOARDINC) \
+ $(CHIBIOS)/os/various
# Compiler flag to set the C Standard level.
diff --git a/demos/AVR-ATmega128-GCC/board.c b/demos/AVR-ATmega128-GCC/board.c
deleted file mode 100644
index 8a9a69309..000000000
--- a/demos/AVR-ATmega128-GCC/board.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-CH_IRQ_HANDLER(TIMER0_COMP_vect) {
-
- CH_IRQ_PROLOGUE();
-
- chSysLockFromIsr();
- chSysTimerHandlerI();
- chSysUnlockFromIsr();
-
- CH_IRQ_EPILOGUE();
-}
-
-/*
- * Board initialization code.
- */
-void hwinit(void) {
-
- /*
- * I/O ports setup.
- */
- DDRA = VAL_DDRA;
- PORTA = VAL_PORTA;
- DDRB = VAL_DDRB;
- PORTB = VAL_PORTB;
- DDRC = VAL_DDRC;
- PORTC = VAL_PORTC;
- DDRD = VAL_DDRD;
- PORTD = VAL_PORTD;
- DDRE = VAL_DDRE;
- PORTE = VAL_PORTE;
- DDRF = VAL_DDRF;
- PORTF = VAL_PORTF;
- DDRG = VAL_DDRG;
- PORTG = VAL_PORTG;
-
- /*
- * External interrupts setup, all disabled initially.
- */
- EICRA = 0x00;
- EICRB = 0x00;
- EIMSK = 0x00;
-
- /*
- * Enables Idle mode for SLEEP instruction.
- */
- MCUCR = (1 << SE);
-
- /*
- * Timer 0 setup.
- */
- TCCR0 = (1 << WGM01) | (0 << WGM00) | /* CTC mode. */
- (0 << COM01) | (0 << COM00) | /* OC0A disabled. */
- (1 << CS02) | (0 << CS01) | (0 << CS00); /* CLK/64 clock. */
- OCR0 = F_CPU / 64 / CH_FREQUENCY - 1;
- TCNT0 = 0; /* Reset counter. */
- TIFR = (1 << OCF0); /* Reset pending. */
- TIMSK = (1 << OCIE0); /* IRQ on compare. */
-
- /*
- * HAL initialization.
- */
- halInit();
-}
diff --git a/demos/AVR-ATmega128-GCC/board.h b/demos/AVR-ATmega128-GCC/board.h
deleted file mode 100644
index 97da17097..000000000
--- a/demos/AVR-ATmega128-GCC/board.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-#define BOARD_OLIMEX_AVR_MT_128
-
-/* PA7 RLY DS B5 B4 B3 B2 B1
- * IN OUT IN IN IN IN IN IN
- * DDRA 0 1 0 0 0 0 0 0
- * PU VAL HiZ HiZ HiZ HiZ HiZ HiZ
- * PORTA 1 0 0 0 0 0 0 0
- */
-#define VAL_DDRA 0x40
-#define VAL_PORTA 0x80
-
-/*
- * All inputs with pullups.
- */
-#define VAL_DDRB 0x00
-#define VAL_PORTB 0xFF
-
-/* D7 D6 D5 D4 PC3 E R/W RS
- * OUT OUT OUT OUT IN OUT OUT OUT
- * DDRC 1 1 1 1 0 1 1 1
- * PU PU PU PU PU VAL VAL VAL
- * PORTC 0 0 0 0 1 0 0 0
- */
-#define VAL_DDRC 0xF7
-#define VAL_PORTC 0x08
-
-/* PD7 PD6 PD5 PD4 TXD RXD PD1 PD0
- * IN IN IN IN OUT IN IN IN
- * DDRD 0 0 0 0 1 0 0 0
- * PU PU PU PU VAL HiZ PU PU
- * PORTD 1 1 1 1 1 0 1 1
- */
-#define VAL_DDRD 0x08
-#define VAL_PORTD 0xFB
-
-/* PE7 PE6 BZ2 BZ2 PE3 PE2 PE1 PE0
- * IN IN OUT OUT IN IN OUT IN
- * DDRE 0 0 1 1 0 0 1 0
- * PU PU VAL VAL PU PU VAL PU
- * PORTE 1 1 1 1 1 1 1 1
- */
-#define VAL_DDRE 0x32
-#define VAL_PORTE 0xFF
-
-/* TDI TDO TMS TCK PF3 PF2 PF1 PF0
- * x x x x IN IN IN IN
- * DDRF 0 0 0 0 0 0 0 0
- * x x x x PU PU PU PU
- * PORTF 0 0 0 0 1 1 1 1
- *
- */
-#define VAL_DDRF 0x00
-#define VAL_PORTF 0x0F
-
-/* x x x x x PG2 PG1 PG0
- * x x x x x IN IN IN
- * DDRG 0 0 0 0 0 0 0 0
- * x x x x x PU PU PU
- * PORTG 0 0 0 0 0 1 1 1
- *
- */
-#define VAL_DDRG 0x00
-#define VAL_PORTG 0x07
-
-#define PORTA_BUTTON1 (1 << 0)
-#define PORTA_BUTTON2 (1 << 1)
-#define PORTA_BUTTON3 (1 << 2)
-#define PORTA_BUTTON4 (1 << 3)
-#define PORTA_BUTTON5 (1 << 4)
-#define PORTA_DALLAS (1 << 5)
-#define PORTA_RELAY (1 << 6)
-
-#define PORTC_44780_RS (1 << 0)
-#define PORTC_44780_RW (1 << 1)
-#define PORTC_44780_E (1 << 2)
-#define PORTC_44780_D4 (1 << 4)
-#define PORTC_44780_D5 (1 << 5)
-#define PORTC_44780_D6 (1 << 6)
-#define PORTC_44780_D7 (1 << 7)
-#define PORTC_44780_DATA (PORTC_44780_D4 | PORTC_44780_D5 | \
- PORTC_44780_D6 | PORTC_44780_D7)
-
-#define PORTE_BUZZ1 (1 << 4)
-#define PORTE_BUZZ2 (1 << 5)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void hwinit(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _BOARD_H_ */