diff --git a/Makefile b/Makefile index a6b16c300..65cbfe6fd 100644 --- a/Makefile +++ b/Makefile @@ -52,6 +52,13 @@ ALL = $(TESTS:.c=.srec) $(TESTS:.c=.bin) $(TESTS:.c=.dis) .PRECIOUS: $(COBJS) $(TARGETS) $(TESTS:.c=.obj) +LIBOBJS = $(patsubst %.c,%.o,$(wildcard libmc1322x/*.c)) + +libmc1322x: libmc1322x.a + +libmc1322x.a: $(LIBOBJS) + $(AR) r libmc1322x.a $(LIBOBJS) + all: src/start.o src/isr.o $(ALL) #tests/flasher.obj: src/maca.o src/nvm.o diff --git a/board/boards.h b/board/boards.h new file mode 100644 index 000000000..6dfe63f53 --- /dev/null +++ b/board/boards.h @@ -0,0 +1,7 @@ +#ifdef BOARD_REDBEE_DEV +#include "redbee-dev.h" +#endif + +#ifdef BOARD_REDWIRE_R1 +#include "red-r1.h" +#endif diff --git a/libmc1322x/include/isr.h b/libmc1322x/include/isr.h new file mode 100644 index 000000000..e629f5b2f --- /dev/null +++ b/libmc1322x/include/isr.h @@ -0,0 +1,18 @@ +#ifndef ISR_H +#define ISR_H + +#define INTBASE (0x80020000) +#define INTENNUM_OFF (0x8) +#define INTDISNUM_OFF (0xc) +#define INTSRC_OFF (0x30) + +#define INTENNUM INTBASE + INTENNUM_OFF +#define INTDISNUM INTBASE + INTDISNUM_OFF +#define INTSRC INTBASE + INTSRC_OFF + +#define enable_tmr_irq() *(volatile uint32_t *)(INTENNUM) = 5; + +extern void tmr_isr(void) __attribute__((weak)); + +#endif + diff --git a/libmc1322x/include/mc1322x.h b/libmc1322x/include/mc1322x.h new file mode 100644 index 000000000..beca8e97f --- /dev/null +++ b/libmc1322x/include/mc1322x.h @@ -0,0 +1,7 @@ +#ifndef MC1322X_H +#define MC1322X_H + +#include "types.h" +#include "isr.h" + +#endif diff --git a/include/nvm.h b/libmc1322x/include/nvm.h similarity index 97% rename from include/nvm.h rename to libmc1322x/include/nvm.h index 6059bfb8f..0261f2be3 100644 --- a/include/nvm.h +++ b/libmc1322x/include/nvm.h @@ -1,7 +1,7 @@ #ifndef NVM_H #define NVM_H -#include "embedded_types.h" +#include "types.h" typedef enum { diff --git a/libmc1322x/include/types.h b/libmc1322x/include/types.h new file mode 100644 index 000000000..93bb4d9d5 --- /dev/null +++ b/libmc1322x/include/types.h @@ -0,0 +1,13 @@ +#ifndef _TYPES_H +#define _TYPES_H + +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed long int32_t; +typedef unsigned long uint32_t; +typedef signed long long int64_t; +typedef unsigned long long uint64_t; + +#endif diff --git a/src/nvm.c b/libmc1322x/nvm.c similarity index 100% rename from src/nvm.c rename to libmc1322x/nvm.c diff --git a/tests/blink-red.c b/tests/blink-red.c index e8b77c7c5..cccc1b1ca 100644 --- a/tests/blink-red.c +++ b/tests/blink-red.c @@ -1,6 +1,5 @@ -#include "types.h" -#include "isr.h" -#include "led.h" +#include "mc1322x.h" +#include "boards.h" #define MBAR_GPIO 0x80000000 #define GPIO_PAD_DIR0 ((volatile uint32_t *) 0x80000000)