summaryrefslogtreecommitdiff
path: root/nuttx/arch/dm320
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-27 16:17:23 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-27 16:17:23 +0000
commitedbc078badbeefcdc65ebde8e66ea0d519e05a04 (patch)
treef82f35fab8ffdf51da22eddbf3a5a20f83f1a806 /nuttx/arch/dm320
parentc36e183aa7872e0df15ee2581f86c026c6107031 (diff)
downloadpx4-nuttx-edbc078badbeefcdc65ebde8e66ea0d519e05a04.tar.gz
px4-nuttx-edbc078badbeefcdc65ebde8e66ea0d519e05a04.tar.bz2
px4-nuttx-edbc078badbeefcdc65ebde8e66ea0d519e05a04.zip
Add DM320 LED support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@157 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/dm320')
-rw-r--r--nuttx/arch/dm320/src/Makefile20
-rw-r--r--nuttx/arch/dm320/src/up_head.S5
-rw-r--r--nuttx/arch/dm320/src/up_internal.h12
3 files changed, 34 insertions, 3 deletions
diff --git a/nuttx/arch/dm320/src/Makefile b/nuttx/arch/dm320/src/Makefile
index 6ee4d4a9c..702d57951 100644
--- a/nuttx/arch/dm320/src/Makefile
+++ b/nuttx/arch/dm320/src/Makefile
@@ -63,6 +63,8 @@ LINKLIBS =
LDPATHES = $(addprefix -L$(TOPDIR)/,$(dir $(LINKLIBS)))
LDLIBS = $(patsubst lib%,-l%,$(basename $(notdir $(LINKLIBS))))
+BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board
+
LIBGCC = ${shell $(CC) -print-libgcc-file-name}
all: up_head.o libarch$(LIBEXT)
@@ -79,9 +81,12 @@ libarch$(LIBEXT): $(OBJS)
{ echo "$(AR) $@ $obj FAILED!" ; exit 1 ; } ; \
done ; )
-nuttx: $(LINKOBJS)
- $(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -o $(TOPDIR)/$@ $(LINKOBJS) \
- --start-group $(LDLIBS) --end-group $(EXTRA_LIBS) $(LIBGCC)
+board/libboard$(LIBEXT):
+ $(MAKE) -C board TOPDIR=$(TOPDIR) libboard$(LIBEXT)
+
+nuttx: $(LINKOBJS) board/libboard$(LIBEXT)
+ $(LD) --entry=__start $(LDFLAGS) $(LDPATHES) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(LINKOBJS) \
+ --start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC)
@$(NM) $(TOPDIR)/$@ | \
grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(TOPDIR)/System.map
@@ -98,15 +103,24 @@ ifeq ($(CONFIG_RRLOAD_BINARY),y)
endif
.depend: Makefile $(SRCS)
+ @if [ -e board/Makefile ]; then \
+ $(MAKE) -C board TOPDIR=$(TOPDIR) depend ; \
+ if
$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
touch $@
depend: .depend
clean:
+ @if [ -e board/Makefile ]; then \
+ $(MAKE) -C board TOPDIR=$(TOPDIR) clean ; \
+ fi
rm -f libarch$(LIBEXT) *.o *~
distclean: clean
+ @if [ -e board/Makefile ]; then \
+ $(MAKE) -C board TOPDIR=$(TOPDIR) distclean ; \
+ fi
rm -f Make.dep .depend
-include Make.dep
diff --git a/nuttx/arch/dm320/src/up_head.S b/nuttx/arch/dm320/src/up_head.S
index a00e615c3..387541079 100644
--- a/nuttx/arch/dm320/src/up_head.S
+++ b/nuttx/arch/dm320/src/up_head.S
@@ -277,6 +277,11 @@ __start:
bl up_boot
+ /* Set up the LEDs */
+
+#ifdef CONFIG_ARCH_LEDS
+ bl up_ledinit
+#endif
/* Perform early serial initialization */
#ifdef CONFIG_DEV_CONSOLE
diff --git a/nuttx/arch/dm320/src/up_internal.h b/nuttx/arch/dm320/src/up_internal.h
index 2c3461697..6360d552b 100644
--- a/nuttx/arch/dm320/src/up_internal.h
+++ b/nuttx/arch/dm320/src/up_internal.h
@@ -144,6 +144,18 @@ extern void up_timerinit(void);
extern void up_maskack_irq(int irq);
+/* Defined in board/up_leds.c */
+
+#ifdef CONFIG_ARCH_LEDS
+extern void up_ledinit(void);
+extern void up_ledon(int led);
+extern void up_ledoff(int led);
+#else
+# define up_ledinit()
+# define up_ledon(led)
+# define up_ledoff(led)
+#endif
+
#endif /* __ASSEMBLY__ */
#endif /* __UP_INTERNAL_H */