From f8a04d03eb08de0c4699845af2e57807c1b117b4 Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 7 Apr 2011 01:54:59 +0000 Subject: [PATCH] Fix AVR build, Add hooks for kernel threads git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3477 42af7a65-404d-4744-a932-0658087f49c3 --- arch/avr/src/Makefile | 5 ----- arch/hc/src/common/up_doirq.c | 2 +- arch/hc/src/common/up_internal.h | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/arch/avr/src/Makefile b/arch/avr/src/Makefile index 531a2100d99..1704aad622f 100644 --- a/arch/avr/src/Makefile +++ b/arch/avr/src/Makefile @@ -108,11 +108,6 @@ nuttx: $(HEAD_AOBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" @$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_AOBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) -lboard --end-group $(EXTRA_LIBS) $(LIBGCC) -ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y) - @export flashloc=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _eronly | cut -d' ' -f1`; \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.data=0x$$flashloc $(NUTTX)$(EXEEXT) $(NUTTX).flashimage - @mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT) -endif @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map diff --git a/arch/hc/src/common/up_doirq.c b/arch/hc/src/common/up_doirq.c index adb3f81ce84..4fc52224ef5 100644 --- a/arch/hc/src/common/up_doirq.c +++ b/arch/hc/src/common/up_doirq.c @@ -101,7 +101,7 @@ uint8_t *up_doirq(int irq, uint8_t *regs) * switch occurred during interrupt processing. */ - regs = current_regs; + regs = (uint8_t*)current_regs; /* Restore the previous value of current_regs. NULL would indicate that * we are no longer in an interrupt handler. It will be non-NULL if we diff --git a/arch/hc/src/common/up_internal.h b/arch/hc/src/common/up_internal.h index 1a30f28e5d4..efc4ce4b0b0 100755 --- a/arch/hc/src/common/up_internal.h +++ b/arch/hc/src/common/up_internal.h @@ -101,7 +101,7 @@ typedef void (*up_vector_t)(void); * structure. If is non-NULL only during interrupt processing. */ -extern uint8_t *current_regs; +extern volatile uint8_t *current_regs; /* This is the beginning of heap as provided from processor-specific logic. * This is the first address in RAM after the loaded program+bss+idle stack.