summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-01-25 07:09:44 -0800
committerPixel <pixel@nobis-crew.org>2011-01-25 07:09:44 -0800
commita1f6f3f277f7e79bf10e196494a8d6dfa6123cfa (patch)
tree7a4ef9a0fbae765a91b95f9a4840a8382829a81f /arch
parentd6205d3578e89b5e20757b152d3d7ad46b5c236b (diff)
More consistent makefiles includes. Adding BoardConsole for basic console output general API. Starting up console from the boot sequence.
Diffstat (limited to 'arch')
-rw-r--r--arch/Makefile2
-rw-r--r--arch/arm/lpc17xx/mbed/BoardConsole.c31
-rw-r--r--arch/arm/lpc17xx/mbed/BoardConsole.h12
-rw-r--r--arch/config.mk2
4 files changed, 45 insertions, 2 deletions
diff --git a/arch/Makefile b/arch/Makefile
index 0ce1809..f8e69d4 100644
--- a/arch/Makefile
+++ b/arch/Makefile
@@ -10,7 +10,7 @@ ifeq ($(CPU),arm)
ifeq ($(CPU_FLAVOR),lpc1768)
TARGET_SRCS += arm/lpc17xx/Core/CM3/DeviceSupport/NXP/LPC17xx/system_LPC17xx.c arm/lpc17xx/Core/CM3/CoreSupport/core_cm3.c
TARGET_SRCS += $(addprefix arm/lpc17xx/Drivers/source/lpc17xx_, spi.c rit.c exti.c wdt.c uart.c dac.c rtc.c i2s.c pwm.c mcpwm.c pinsel.c nvic.c emac.c systick.c ssp.c can.c gpio.c libcfg_default.c i2c.c timer.c gpdma.c clkpwr.c qei.c adc.c)
-TARGET_SRCS += arm/lpc17xx/startup.s arm/lpc17xx/hooks.c arm/lpc17xx/Drivers/source/debug_frmwrk.c
+TARGET_SRCS += arm/lpc17xx/startup.s arm/lpc17xx/hooks.c arm/lpc17xx/Drivers/source/debug_frmwrk.c arm/lpc17xx/mbed/BoardConsole.c
endif
endif
diff --git a/arch/arm/lpc17xx/mbed/BoardConsole.c b/arch/arm/lpc17xx/mbed/BoardConsole.c
new file mode 100644
index 0000000..3f00c08
--- /dev/null
+++ b/arch/arm/lpc17xx/mbed/BoardConsole.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <malloc.h>
+#include <stdarg.h>
+#include "BoardConsole.h"
+#include <debug_frmwrk.h>
+
+void BoardConsoleInit() {
+ debug_frmwrk_init();
+}
+
+void BoardConsolePuts(const char * str) {
+ _DBG_(str);
+}
+
+void BoardConsolePutc(int c) {
+ _DBC(c);
+}
+
+void BoardConsolePrintf(const char * fmt, ...) {
+ va_list ap;
+ va_start(ap, fmt);
+ BoardConsoleVPrintf(fmt, ap);
+ va_end(ap);
+}
+
+void BoardConsoleVPrintf(const char * fmt, va_list ap) {
+ char * str = NULL;
+ vasprintf(&str, fmt, ap);
+ _DBG(str);
+ free(str);
+}
diff --git a/arch/arm/lpc17xx/mbed/BoardConsole.h b/arch/arm/lpc17xx/mbed/BoardConsole.h
new file mode 100644
index 0000000..75b970f
--- /dev/null
+++ b/arch/arm/lpc17xx/mbed/BoardConsole.h
@@ -0,0 +1,12 @@
+#ifndef __MBED_CONSOLE_H__
+#define __MBED_CONSOLE_H__
+
+#include <stdarg.h>
+
+void BoardConsoleInit();
+void BoardConsolePuts(const char * str);
+void BoardConsolePutc(int);
+void BoardConsolePrintf(const char * fmt, ...) __attribute__ ((format(printf, 1, 2)));
+void BoardConsoleVPrintf(const char * fmt, va_list ap);
+
+#endif
diff --git a/arch/config.mk b/arch/config.mk
index f182a95..4ec1d04 100644
--- a/arch/config.mk
+++ b/arch/config.mk
@@ -1,6 +1,6 @@
ifeq ($(CPU),arm)
ifeq ($(CPU_FLAVOR),lpc1768)
-TARGET_INCLUDES += $(ROOTDIR)/arch/arm/lpc17xx/Core/CM3/DeviceSupport/NXP/LPC17xx $(ROOTDIR)/arch/arm/lpc17xx/Core/CM3/CoreSupport $(ROOTDIR)/arch/arm/lpc17xx/Drivers/include
+TARGET_INCLUDES += $(ROOTDIR)/arch/arm/lpc17xx/Core/CM3/DeviceSupport/NXP/LPC17xx $(ROOTDIR)/arch/arm/lpc17xx/Core/CM3/CoreSupport $(ROOTDIR)/arch/arm/lpc17xx/Drivers/include $(ROOTDIR)/arch/arm/lpc17xx/mbed
ifeq ($(USE_MPU),true)
LDSCRIPT = $(ROOTDIR)/arch/arm/lpc17xx/ldscript-mpu
else