diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-08-06 16:26:01 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-08-06 16:26:01 -0600 |
commit | 893d3a9e60609f17026d1eeb774ab993ea393c42 (patch) | |
tree | ae0789b7eadbdac15f2b63c67663dd42df397e49 | |
parent | e42e89d84e13db8feda4056b3e3499a14b065d47 (diff) | |
download | nuttx-893d3a9e60609f17026d1eeb774ab993ea393c42.tar.gz nuttx-893d3a9e60609f17026d1eeb774ab993ea393c42.tar.bz2 nuttx-893d3a9e60609f17026d1eeb774ab993ea393c42.zip |
Rename up_timerinit() to up_timer_initailize(); Add prototypes for candidate interfaces for the tickless OS; Don't build existing timer initialization logic if CONFIG_SCHED_TICKLESS is defined.
89 files changed, 555 insertions, 249 deletions
diff --git a/nuttx/arch/8051/src/Makefile.sdccl b/nuttx/arch/8051/src/Makefile.sdccl index ee6fc69e3..0e424924b 100644 --- a/nuttx/arch/8051/src/Makefile.sdccl +++ b/nuttx/arch/8051/src/Makefile.sdccl @@ -1,7 +1,7 @@ ############################################################################ # arch/8051/src/Makefile.sdccl # -# Copyright (C) 2007, 2008, 2011-2012 Gregory Nutt. All rights reserved. +# Copyright (C) 2007, 2008, 2011-2012, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -63,8 +63,13 @@ AOBJS = $(ASRCS:$(ASMEXT)=$(OBJEXT)) CSRCS = up_initialize.c up_idle.c up_interruptcontext.c up_initialstate.c \ up_unblocktask.c up_blocktask.c up_releasepending.c \ up_reprioritizertr.c up_exit.c up_assert.c up_allocateheap.c \ - up_irq.c up_savecontext.c up_restorecontext.c up_timerisr.c up_putc.c \ + up_irq.c up_savecontext.c up_restorecontext.c up_putc.c \ up_debug.c up_delay.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CSRCS += up_timerisr.c +endif + COBJS = $(CSRCS:.c=$(OBJEXT)) # All sources and objcts diff --git a/nuttx/arch/8051/src/up_initialize.c b/nuttx/arch/8051/src/up_initialize.c index 30c17053f..bf461a09c 100644 --- a/nuttx/arch/8051/src/up_initialize.c +++ b/nuttx/arch/8051/src/up_initialize.c @@ -136,7 +136,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #ifndef CONFIG_ARCH_8051_SUPRESS_INTERRUPTS - up_timerinit(); + up_timer_initialize(); #endif board_led_on(LED_IRQSENABLED); diff --git a/nuttx/arch/8051/src/up_internal.h b/nuttx/arch/8051/src/up_internal.h index 43742b109..d4bde5923 100644 --- a/nuttx/arch/8051/src/up_internal.h +++ b/nuttx/arch/8051/src/up_internal.h @@ -117,7 +117,7 @@ void up_restoreregisters(FAR uint8_t *regs) _naked; uint8_t up_savecontext(FAR struct xcptcontext *context) __naked; void up_saveregisters(FAR uint8_t *regs) _naked; void up_saveirqcontext(FAR struct xcptcontext *context); -void up_timerinit(void); +void up_timer_initialize(void); /* Defined in up_debug.c */ diff --git a/nuttx/arch/8051/src/up_timerisr.c b/nuttx/arch/8051/src/up_timerisr.c index 60cde0bb6..edf7e5059 100644 --- a/nuttx/arch/8051/src/up_timerisr.c +++ b/nuttx/arch/8051/src/up_timerisr.c @@ -82,7 +82,7 @@ int up_timerisr(int irq, FAR uint8_t *frame) } /************************************************************************ - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -90,7 +90,7 @@ int up_timerisr(int irq, FAR uint8_t *frame) * ************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { #ifdef CONFIG_ARCH_8051_NOSYSTIMER up_disable_irq(TIMER2_IRQ); diff --git a/nuttx/arch/arm/src/a1x/Make.defs b/nuttx/arch/arm/src/a1x/Make.defs index aac0e5fc3..4f22c88c8 100644 --- a/nuttx/arch/arm/src/a1x/Make.defs +++ b/nuttx/arch/arm/src/a1x/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/a1x/Make.defs # -# Copyright (C) 2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2013-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -101,4 +101,8 @@ CHIP_ASRCS = # A1x-specific C source files -CHIP_CSRCS = a1x_boot.c a1x_irq.c a1x_pio.c a1x_timerisr.c a1x_lowputc.c a1x_serial.c +CHIP_CSRCS = a1x_boot.c a1x_irq.c a1x_pio.c a1x_lowputc.c a1x_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += a1x_timerisr.c +endif diff --git a/nuttx/arch/arm/src/a1x/a1x_timerisr.c b/nuttx/arch/arm/src/a1x/a1x_timerisr.c index 5487b7252..071e041ba 100644 --- a/nuttx/arch/arm/src/a1x/a1x_timerisr.c +++ b/nuttx/arch/arm/src/a1x/a1x_timerisr.c @@ -107,7 +107,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -115,7 +115,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/c5471/Make.defs b/nuttx/arch/arm/src/c5471/Make.defs index 79157d8f8..379d9123d 100644 --- a/nuttx/arch/arm/src/c5471/Make.defs +++ b/nuttx/arch/arm/src/c5471/Make.defs @@ -33,10 +33,10 @@ # ############################################################################ -HEAD_ASRC = up_nommuhead.S +HEAD_ASRC = up_nommuhead.S -CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S vfork.S -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ +CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S vfork.S +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ up_createstack.c up_dataabort.c up_mdelay.c up_udelay.c up_doirq.c \ up_exit.c up_idle.c up_initialize.c up_initialstate.c \ up_interruptcontext.c up_prefetchabort.c up_releasepending.c \ @@ -52,6 +52,9 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif -CHIP_ASRCS = c5471_lowputc.S c5471_vectors.S -CHIP_CSRCS = c5471_irq.c c5471_serial.c c5471_timerisr.c c5471_watchdog.c \ - c5471_ethernet.c +CHIP_ASRCS = c5471_lowputc.S c5471_vectors.S +CHIP_CSRCS = c5471_irq.c c5471_serial.c c5471_watchdog.c c5471_ethernet.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += c5471_timerisr.c +endif diff --git a/nuttx/arch/arm/src/c5471/c5471_timerisr.c b/nuttx/arch/arm/src/c5471/c5471_timerisr.c index 1a221674d..1021fb84a 100644 --- a/nuttx/arch/arm/src/c5471/c5471_timerisr.c +++ b/nuttx/arch/arm/src/c5471/c5471_timerisr.c @@ -99,7 +99,7 @@ int up_timerisr(int irq, uint32_t *regs) } /************************************************************ - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -107,7 +107,7 @@ int up_timerisr(int irq, uint32_t *regs) * ************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t val; diff --git a/nuttx/arch/arm/src/calypso/Make.defs b/nuttx/arch/arm/src/calypso/Make.defs index ef0e466a1..a50ee62d4 100644 --- a/nuttx/arch/arm/src/calypso/Make.defs +++ b/nuttx/arch/arm/src/calypso/Make.defs @@ -38,15 +38,15 @@ HEAD_ASRC = calypso_head.S -CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S up_vectors.S \ - up_nommuhead.S vfork.S -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ - up_createstack.c up_dataabort.c up_mdelay.c up_udelay.c up_doirq.c \ - up_exit.c up_idle.c up_initialstate.c up_initialize.c \ - up_interruptcontext.c up_prefetchabort.c up_releasepending.c \ - up_releasestack.c up_reprioritizertr.c up_schedulesigaction.c \ - up_sigdeliver.c up_syscall.c up_unblocktask.c \ - up_undefinedinsn.c up_usestack.c calypso_power.c up_vfork.c +CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S up_vectors.S +CMN_ASRCS += up_nommuhead.S vfork.S +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c +CMN_CSRCS += up_createstack.c up_dataabort.c up_mdelay.c up_udelay.c +CMN_CSRCS += up_doirq.c up_exit.c up_idle.c up_initialstate.c up_initialize.c +CMN_CSRCS += up_interruptcontext.c up_prefetchabort.c up_releasepending.c +CMN_CSRCS += up_releasestack.c up_reprioritizertr.c up_schedulesigaction.c +CMN_CSRCS += up_sigdeliver.c up_syscall.c up_unblocktask.c +CMN_CSRCS += up_undefinedinsn.c up_usestack.c calypso_power.c up_vfork.c ifeq ($(CONFIG_ELF),y) CMN_CSRCS += up_elf.c @@ -56,6 +56,10 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif -CHIP_ASRCS = calypso_lowputc.S -CHIP_CSRCS = calypso_irq.c calypso_timer.c calypso_heap.c calypso_serial.c \ - calypso_spi.c clock.c calypso_uwire.c calypso_armio.c calypso_keypad.c +CHIP_ASRCS = calypso_lowputc.S +CHIP_CSRCS = calypso_irq.c calypso_heap.c calypso_serial.c calypso_spi.c +CHIP_CSRCS += clock.c calypso_uwire.c calypso_armio.c calypso_keypad.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += calypso_timer.c +endif diff --git a/nuttx/arch/arm/src/calypso/calypso_timer.c b/nuttx/arch/arm/src/calypso/calypso_timer.c index 39eca0307..7ce3f2efd 100644 --- a/nuttx/arch/arm/src/calypso/calypso_timer.c +++ b/nuttx/arch/arm/src/calypso/calypso_timer.c @@ -180,7 +180,7 @@ int up_timerisr(int irq, uint32_t *regs) } /************************************************************ - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * Setup Calypso HW timer 2 to cause system ticks. @@ -190,7 +190,7 @@ int up_timerisr(int irq, uint32_t *regs) * ************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { up_disable_irq(IRQ_SYSTIMER); diff --git a/nuttx/arch/arm/src/common/up_initialize.c b/nuttx/arch/arm/src/common/up_initialize.c index 8b6b4bd37..c96abe35e 100644 --- a/nuttx/arch/arm/src/common/up_initialize.c +++ b/nuttx/arch/arm/src/common/up_initialize.c @@ -183,7 +183,7 @@ void up_initialize(void) #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) && \ !defined(CONFIG_SYSTEMTICK_EXTCLK) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/arm/src/common/up_internal.h b/nuttx/arch/arm/src/common/up_internal.h index 4cd464347..752d5c4a1 100644 --- a/nuttx/arch/arm/src/common/up_internal.h +++ b/nuttx/arch/arm/src/common/up_internal.h @@ -418,7 +418,7 @@ void up_restorefpu(const uint32_t *regs); /* System timer *************************************************************/ -void up_timerinit(void); +void up_timer_initialize(void); int up_timerisr(int irq, uint32_t *regs); /* Low level serial output **************************************************/ diff --git a/nuttx/arch/arm/src/dm320/Make.defs b/nuttx/arch/arm/src/dm320/Make.defs index bc6b69ab0..36409f378 100644 --- a/nuttx/arch/arm/src/dm320/Make.defs +++ b/nuttx/arch/arm/src/dm320/Make.defs @@ -33,11 +33,11 @@ # ############################################################################ -HEAD_ASRC = up_head.S +HEAD_ASRC = up_head.S -CMN_ASRCS = up_cache.S up_fullcontextrestore.S up_saveusercontext.S \ +CMN_ASRCS = up_cache.S up_fullcontextrestore.S up_saveusercontext.S \ up_vectors.S up_vectoraddrexcptn.S up_vectortab.S vfork.S -CMN_CSRCS = up_assert.c up_blocktask.c up_copyfullstate.c up_createstack.c \ +CMN_CSRCS = up_assert.c up_blocktask.c up_copyfullstate.c up_createstack.c \ up_dataabort.c up_mdelay.c up_udelay.c up_exit.c up_idle.c \ up_initialize.c up_initialstate.c up_interruptcontext.c \ up_prefetchabort.c up_releasepending.c up_releasestack.c \ @@ -53,10 +53,14 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif -CHIP_ASRCS = dm320_lowputc.S dm320_restart.S -CHIP_CSRCS = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c \ - dm320_irq.c dm320_serial.c dm320_timerisr.c dm320_framebuffer.c +CHIP_ASRCS = dm320_lowputc.S dm320_restart.S +CHIP_CSRCS = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c \ + dm320_irq.c dm320_serial.c dm320_framebuffer.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += dm320_timerisr.c +endif ifeq ($(CONFIG_USBDEV),y) -CHIP_CSRCS += dm320_usbdev.c +CHIP_CSRCS += dm320_usbdev.c endif diff --git a/nuttx/arch/arm/src/dm320/dm320_timerisr.c b/nuttx/arch/arm/src/dm320/dm320_timerisr.c index 4914a8306..a92478aa3 100644 --- a/nuttx/arch/arm/src/dm320/dm320_timerisr.c +++ b/nuttx/arch/arm/src/dm320/dm320_timerisr.c @@ -126,7 +126,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -134,7 +134,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { up_disable_irq(DM320_IRQ_SYSTIMER); diff --git a/nuttx/arch/arm/src/imx/Make.defs b/nuttx/arch/arm/src/imx/Make.defs index 8135f99e5..f8cd8cd7c 100644 --- a/nuttx/arch/arm/src/imx/Make.defs +++ b/nuttx/arch/arm/src/imx/Make.defs @@ -33,11 +33,11 @@ # ############################################################################ -HEAD_ASRC = up_head.S +HEAD_ASRC = up_head.S -CMN_ASRCS = up_cache.S up_fullcontextrestore.S up_saveusercontext.S \ +CMN_ASRCS = up_cache.S up_fullcontextrestore.S up_saveusercontext.S \ up_vectors.S up_vectoraddrexcptn.S up_vectortab.S vfork.S -CMN_CSRCS = up_assert.c up_blocktask.c up_copyfullstate.c up_createstack.c \ +CMN_CSRCS = up_assert.c up_blocktask.c up_copyfullstate.c up_createstack.c \ up_dataabort.c up_mdelay.c up_udelay.c up_exit.c up_idle.c \ up_initialize.c up_initialstate.c up_interruptcontext.c \ up_prefetchabort.c up_releasepending.c up_releasestack.c \ @@ -53,10 +53,14 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif -CHIP_ASRCS = imx_lowputc.S -CHIP_CSRCS = imx_boot.c imx_gpio.c imx_allocateheap.c imx_irq.c \ - imx_serial.c imx_timerisr.c imx_decodeirq.c imx_spi.c +CHIP_ASRCS = imx_lowputc.S +CHIP_CSRCS = imx_boot.c imx_gpio.c imx_allocateheap.c imx_irq.c \ + imx_serial.c imx_decodeirq.c imx_spi.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += imx_timerisr.c +endif ifeq ($(CONFIG_USBDEV),y) -CHIP_CSRCS += imx_usbdev.c +CHIP_CSRCS += imx_usbdev.c endif diff --git a/nuttx/arch/arm/src/imx/imx_timerisr.c b/nuttx/arch/arm/src/imx/imx_timerisr.c index b5ce77b39..64db2e06d 100644 --- a/nuttx/arch/arm/src/imx/imx_timerisr.c +++ b/nuttx/arch/arm/src/imx/imx_timerisr.c @@ -100,7 +100,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -108,7 +108,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t tctl; diff --git a/nuttx/arch/arm/src/kinetis/Make.defs b/nuttx/arch/arm/src/kinetis/Make.defs index 0429dfadd..6f0de0594 100644 --- a/nuttx/arch/arm/src/kinetis/Make.defs +++ b/nuttx/arch/arm/src/kinetis/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/kinetis/Make.defs # -# Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2011, 2013-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -83,11 +83,14 @@ CHIP_ASRCS = CHIP_CSRCS = kinetis_allocateheap.c kinetis_clockconfig.c CHIP_CSRCS += kinetis_clrpend.c kinetis_idle.c kinetis_irq.c CHIP_CSRCS += kinetis_lowputc.c kinetis_pin.c kinetis_pingpio.c -CHIP_CSRCS += kinetis_serial.c kinetis_start.c kinetis_timerisr.c -CHIP_CSRCS += kinetis_wdog.c +CHIP_CSRCS += kinetis_serial.c kinetis_start.c kinetis_wdog.c # Configuration-dependent Kinetis files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += kinetis_timerisr.c +endif + ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += kinetis_userspace.c kinetis_mpuinit.c endif diff --git a/nuttx/arch/arm/src/kinetis/kinetis_timerisr.c b/nuttx/arch/arm/src/kinetis/kinetis_timerisr.c index 8dd514a9c..b4bde4cae 100644 --- a/nuttx/arch/arm/src/kinetis/kinetis_timerisr.c +++ b/nuttx/arch/arm/src/kinetis/kinetis_timerisr.c @@ -107,7 +107,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -115,7 +115,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/kl/Make.defs b/nuttx/arch/arm/src/kl/Make.defs index 8daa4591d..9fc5bcd08 100644 --- a/nuttx/arch/arm/src/kl/Make.defs +++ b/nuttx/arch/arm/src/kl/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/kl/Make.defs # -# Copyright (C) 2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2013-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -69,7 +69,11 @@ endif CHIP_ASRCS = CHIP_CSRCS = kl_clockconfig.c kl_gpio.c kl_idle.c kl_irq.c kl_lowgetc.c -CHIP_CSRCS += kl_lowputc.c kl_serial.c kl_start.c kl_timerisr.c kl_cfmconfig.c +CHIP_CSRCS += kl_lowputc.c kl_serial.c kl_start.c kl_cfmconfig.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += kl_timerisr.c +endif ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += kl_userspace.c diff --git a/nuttx/arch/arm/src/kl/kl_timerisr.c b/nuttx/arch/arm/src/kl/kl_timerisr.c index 94c982cbf..fe1cd1681 100644 --- a/nuttx/arch/arm/src/kl/kl_timerisr.c +++ b/nuttx/arch/arm/src/kl/kl_timerisr.c @@ -122,7 +122,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -130,7 +130,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/lpc17xx/Make.defs b/nuttx/arch/arm/src/lpc17xx/Make.defs index 5230c9e92..19114864b 100644 --- a/nuttx/arch/arm/src/lpc17xx/Make.defs +++ b/nuttx/arch/arm/src/lpc17xx/Make.defs @@ -101,10 +101,14 @@ CHIP_ASRCS = CHIP_CSRCS = lpc17_allocateheap.c lpc17_clockconfig.c lpc17_clrpend.c CHIP_CSRCS += lpc17_gpio.c lpc17_i2c.c lpc17_idle.c lpc17_irq.c lpc17_lowputc.c -CHIP_CSRCS += lpc17_serial.c lpc17_spi.c lpc17_ssp.c lpc17_start.c lpc17_timerisr.c +CHIP_CSRCS += lpc17_serial.c lpc17_spi.c lpc17_ssp.c lpc17_start.c # Configuration-dependent LPC17xx files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += lpc17_timerisr.c +endif + ifeq ($(CONFIG_ARMV7M_CMNVECTOR),y) CHIP_ASRCS += lpc17_vectors.S endif diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_timerisr.c b/nuttx/arch/arm/src/lpc17xx/lpc17_timerisr.c index ffe975e92..4aec2da40 100644 --- a/nuttx/arch/arm/src/lpc17xx/lpc17_timerisr.c +++ b/nuttx/arch/arm/src/lpc17xx/lpc17_timerisr.c @@ -108,7 +108,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -116,7 +116,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/lpc214x/Make.defs b/nuttx/arch/arm/src/lpc214x/Make.defs index a7789a3af..a8a1bf942 100644 --- a/nuttx/arch/arm/src/lpc214x/Make.defs +++ b/nuttx/arch/arm/src/lpc214x/Make.defs @@ -57,10 +57,13 @@ CMN_CSRCS += up_checkstack.c endif CHIP_ASRCS = lpc214x_lowputc.S -CHIP_CSRCS = lpc214x_decodeirq.c lpc214x_irq.c lpc214x_timerisr.c \ - lpc214x_serial.c +CHIP_CSRCS = lpc214x_decodeirq.c lpc214x_irq.c lpc214x_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += lpc214x_timerisr.c +endif ifeq ($(CONFIG_USBDEV),y) -CHIP_CSRCS += lpc214x_usbdev.c +CHIP_CSRCS += lpc214x_usbdev.c endif diff --git a/nuttx/arch/arm/src/lpc214x/lpc214x_timerisr.c b/nuttx/arch/arm/src/lpc214x/lpc214x_timerisr.c index 99d1d118f..6039939ab 100644 --- a/nuttx/arch/arm/src/lpc214x/lpc214x_timerisr.c +++ b/nuttx/arch/arm/src/lpc214x/lpc214x_timerisr.c @@ -115,7 +115,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -123,7 +123,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint16_t mcr; diff --git a/nuttx/arch/arm/src/lpc2378/Make.defs b/nuttx/arch/arm/src/lpc2378/Make.defs index e7a2b52cd..09c5cba6e 100644 --- a/nuttx/arch/arm/src/lpc2378/Make.defs +++ b/nuttx/arch/arm/src/lpc2378/Make.defs @@ -62,9 +62,13 @@ CMN_CSRCS += up_checkstack.c endif CHIP_ASRCS = lpc23xx_lowputc.S -CHIP_CSRCS = lpc23xx_pllsetup.c lpc23xx_decodeirq.c lpc23xx_irq.c lpc23xx_timerisr.c \ +CHIP_CSRCS = lpc23xx_pllsetup.c lpc23xx_decodeirq.c lpc23xx_irq.c \ lpc23xx_serial.c lpc23xx_io.c +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += lpc23xx_timerisr.c +endif + ifeq ($(CONFIG_LPC2378_SPI),y) CHIP_CSRCS += lpc23xx_spi.c endif diff --git a/nuttx/arch/arm/src/lpc2378/lpc23xx_timerisr.c b/nuttx/arch/arm/src/lpc2378/lpc23xx_timerisr.c index 6027bfcd2..1b655fc9a 100644 --- a/nuttx/arch/arm/src/lpc2378/lpc23xx_timerisr.c +++ b/nuttx/arch/arm/src/lpc2378/lpc23xx_timerisr.c @@ -138,7 +138,7 @@ int up_timerisr(int irq, uint32_t * regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -146,7 +146,7 @@ int up_timerisr(int irq, uint32_t * regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint16_t mcr; diff --git a/nuttx/arch/arm/src/lpc31xx/Make.defs b/nuttx/arch/arm/src/lpc31xx/Make.defs index bcc767104..ee97e6cbb 100644 --- a/nuttx/arch/arm/src/lpc31xx/Make.defs +++ b/nuttx/arch/arm/src/lpc31xx/Make.defs @@ -71,7 +71,11 @@ CHIP_ASRCS = $(CGU_ASRCS) CHIP_CSRCS = lpc31_allocateheap.c lpc31_boot.c lpc31_decodeirq.c CHIP_CSRCS += lpc31_irq.c lpc31_lowputc.c lpc31_serial.c lpc31_i2c.c -CHIP_CSRCS += lpc31_spi.c lpc31_timerisr.c $(CGU_CSRCS) +CHIP_CSRCS += lpc31_spi.c $(CGU_CSRCS) + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += lpc31_timerisr.c +endif ifeq ($(CONFIG_LPC31_USBOTG),y) ifeq ($(CONFIG_USBHOST),y) diff --git a/nuttx/arch/arm/src/lpc31xx/lpc31_timerisr.c b/nuttx/arch/arm/src/lpc31xx/lpc31_timerisr.c index ab9912c19..967843399 100644 --- a/nuttx/arch/arm/src/lpc31xx/lpc31_timerisr.c +++ b/nuttx/arch/arm/src/lpc31xx/lpc31_timerisr.c @@ -93,7 +93,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -101,7 +101,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; uint64_t load; diff --git a/nuttx/arch/arm/src/lpc43xx/Make.defs b/nuttx/arch/arm/src/lpc43xx/Make.defs index 366c051df..9b4053b3b 100644 --- a/nuttx/arch/arm/src/lpc43xx/Make.defs +++ b/nuttx/arch/arm/src/lpc43xx/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/lpc43xx/Make.defs # -# Copyright (C) 2012-2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2012-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -85,7 +85,11 @@ endif CHIP_ASRCS = CHIP_CSRCS = lpc43_allocateheap.c lpc43_cgu.c lpc43_clrpend.c lpc43_gpio.c CHIP_CSRCS += lpc43_irq.c lpc43_pinconfig.c lpc43_rgu.c lpc43_serial.c -CHIP_CSRCS += lpc43_start.c lpc43_timerisr.c lpc43_uart.c +CHIP_CSRCS += lpc43_start.c lpc43_uart.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += lpc43_timerisr.c +endif ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += lpc43_userspace.c lpc43_mpuinit.c diff --git a/nuttx/arch/arm/src/lpc43xx/lpc43_timerisr.c b/nuttx/arch/arm/src/lpc43xx/lpc43_timerisr.c index 83a64e34f..81a2937c5 100644 --- a/nuttx/arch/arm/src/lpc43xx/lpc43_timerisr.c +++ b/nuttx/arch/arm/src/lpc43xx/lpc43_timerisr.c @@ -107,7 +107,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -115,7 +115,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/nuc1xx/Make.defs b/nuttx/arch/arm/src/nuc1xx/Make.defs index dd5895148..c8cfdf0a3 100644 --- a/nuttx/arch/arm/src/nuc1xx/Make.defs +++ b/nuttx/arch/arm/src/nuc1xx/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/nuc1xx/Make.defs # -# Copyright (C) 2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2013-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -69,7 +69,11 @@ endif CHIP_ASRCS = CHIP_CSRCS = nuc_clockconfig.c nuc_gpio.c nuc_idle.c nuc_irq.c nuc_lowputc.c -CHIP_CSRCS += nuc_serial.c nuc_start.c nuc_timerisr.c +CHIP_CSRCS += nuc_serial.c nuc_start.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += nuc_timerisr.c +endif ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += nuc_userspace.c diff --git a/nuttx/arch/arm/src/nuc1xx/nuc_timerisr.c b/nuttx/arch/arm/src/nuc1xx/nuc_timerisr.c index 6f0ce6008..6b895ca09 100644 --- a/nuttx/arch/arm/src/nuc1xx/nuc_timerisr.c +++ b/nuttx/arch/arm/src/nuc1xx/nuc_timerisr.c @@ -173,7 +173,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -181,7 +181,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/sam34/Make.defs b/nuttx/arch/arm/src/sam34/Make.defs index 3c62069a5..607b08fd6 100644 --- a/nuttx/arch/arm/src/sam34/Make.defs +++ b/nuttx/arch/arm/src/sam34/Make.defs @@ -82,10 +82,14 @@ endif CHIP_ASRCS = CHIP_CSRCS = sam_allocateheap.c sam_gpioirq.c sam_irq.c sam_lowputc.c -CHIP_CSRCS += sam_serial.c sam_start.c sam_timerisr.c +CHIP_CSRCS += sam_serial.c sam_start.c # Configuration-dependent SAM3/4 files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += sam_timerisr.c +endif + ifeq ($(CONFIG_CRYPTO_AES),y) CHIP_CSRCS += sam_aes.c endif diff --git a/nuttx/arch/arm/src/sam34/sam_timerisr.c b/nuttx/arch/arm/src/sam34/sam_timerisr.c index 0f8ef42c5..d4793a114 100644 --- a/nuttx/arch/arm/src/sam34/sam_timerisr.c +++ b/nuttx/arch/arm/src/sam34/sam_timerisr.c @@ -129,7 +129,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -137,7 +137,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/sama5/Make.defs b/nuttx/arch/arm/src/sama5/Make.defs index 16ddf12ee..363327871 100644 --- a/nuttx/arch/arm/src/sama5/Make.defs +++ b/nuttx/arch/arm/src/sama5/Make.defs @@ -105,10 +105,14 @@ CHIP_ASRCS = CHIP_CSRCS = sam_allocateheap.c sam_boot.c sam_clockconfig.c sam_irq.c CHIP_CSRCS += sam_lowputc.c sam_memories.c sam_pck.c sam_pio.c sam_pmc.c -CHIP_CSRCS += sam_sckc.c sam_serial.c sam_timerisr.c +CHIP_CSRCS += sam_sckc.c sam_serial.c # Configuration dependent C and assembly language files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += sam_timerisr.c +endif + ifeq ($(CONFIG_SAMA5_DMAC0),y) CHIP_CSRCS += sam_dmac.c else diff --git a/nuttx/arch/arm/src/sama5/sam_timerisr.c b/nuttx/arch/arm/src/sama5/sam_timerisr.c index 1e2470210..9f61a4011 100644 --- a/nuttx/arch/arm/src/sama5/sam_timerisr.c +++ b/nuttx/arch/arm/src/sama5/sam_timerisr.c @@ -118,7 +118,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -126,7 +126,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/samd/Make.defs b/nuttx/arch/arm/src/samd/Make.defs index 1dd26d643..308757881 100644 --- a/nuttx/arch/arm/src/samd/Make.defs +++ b/nuttx/arch/arm/src/samd/Make.defs @@ -70,7 +70,11 @@ endif CHIP_ASRCS = CHIP_CSRCS = sam_clockconfig.c sam_idle.c sam_irq.c sam_lowputc.c CHIP_CSRCS += sam_port.c sam_sercom.c sam_serial.c sam_start.c -CHIP_CSRCS += sam_timerisr.c sam_usart.c +CHIP_CSRCS += sam_usart.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += sam_timerisr.c +endif ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += sam_userspace.c diff --git a/nuttx/arch/arm/src/samd/sam_timerisr.c b/nuttx/arch/arm/src/samd/sam_timerisr.c index dad9f0812..766486f02 100644 --- a/nuttx/arch/arm/src/samd/sam_timerisr.c +++ b/nuttx/arch/arm/src/samd/sam_timerisr.c @@ -110,7 +110,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -118,7 +118,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/stm32/Make.defs b/nuttx/arch/arm/src/stm32/Make.defs index f5dd21289..c8b7df07d 100644 --- a/nuttx/arch/arm/src/stm32/Make.defs +++ b/nuttx/arch/arm/src/stm32/Make.defs @@ -94,8 +94,12 @@ CHIP_ASRCS = CHIP_CSRCS = stm32_allocateheap.c stm32_start.c stm32_rcc.c stm32_lse.c CHIP_CSRCS += stm32_lsi.c stm32_gpio.c stm32_exti_gpio.c stm32_flash.c stm32_irq.c -CHIP_CSRCS += stm32_timerisr.c stm32_dma.c stm32_lowputc.c stm32_serial.c -CHIP_CSRCS += stm32_spi.c stm32_sdio.c stm32_tim.c stm32_waste.c stm32_ccm.c +CHIP_CSRCS += stm32_dma.c stm32_lowputc.c stm32_serial.c stm32_spi.c +CHIP_CSRCS += stm32_sdio.c stm32_tim.c stm32_waste.c stm32_ccm.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += stm32_timerisr.c +endif ifeq ($(CONFIG_ARMV7M_CMNVECTOR),y) CHIP_ASRCS += stm32_vectors.S diff --git a/nuttx/arch/arm/src/stm32/stm32_timerisr.c b/nuttx/arch/arm/src/stm32/stm32_timerisr.c index baa852273..6d739eb2c 100644 --- a/nuttx/arch/arm/src/stm32/stm32_timerisr.c +++ b/nuttx/arch/arm/src/stm32/stm32_timerisr.c @@ -115,7 +115,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -123,7 +123,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/arm/src/str71x/Make.defs b/nuttx/arch/arm/src/str71x/Make.defs index 1978c2dff..57ec38a9f 100644 --- a/nuttx/arch/arm/src/str71x/Make.defs +++ b/nuttx/arch/arm/src/str71x/Make.defs @@ -33,11 +33,11 @@ # ############################################################################## -HEAD_ASRC = str71x_head.S +HEAD_ASRC = str71x_head.S -CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S up_vectors.S \ +CMN_ASRCS = up_saveusercontext.S up_fullcontextrestore.S up_vectors.S \ vfork.S -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ up_createstack.c up_dataabort.c up_mdelay.c up_udelay.c \ up_exit.c up_idle.c up_initialize.c up_initialstate.c \ up_interruptcontext.c up_prefetchabort.c up_releasepending.c \ @@ -45,7 +45,7 @@ CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copyfullstate.c \ up_undefinedinsn.c up_usestack.c up_lowputs.c up_vfork.c ifneq ($(CONFIG_DISABLE_SIGNALS),y) -CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c +CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c endif ifeq ($(CONFIG_ELF),y) @@ -56,13 +56,18 @@ ifeq ($(CONFIG_DEBUG_STACK),y) CMN_CSRCS += up_checkstack.c endif -CHIP_ASRCS = -CHIP_CSRCS = str71x_prccu.c str71x_lowputc.c str71x_decodeirq.c str71x_irq.c \ - str71x_timerisr.c str71x_serial.c +CHIP_ASRCS = +CHIP_CSRCS = str71x_prccu.c str71x_lowputc.c str71x_decodeirq.c str71x_irq.c \ + str71x_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += str71x_timerisr.c +endif ifeq ($(CONFIG_USBDEV),y) CHIP_CSRCS += str71x_usbdev.c endif + ifeq ($(CONFIG_STR71X_XTI),y) CHIP_CSRCS += str71x_xti.c endif diff --git a/nuttx/arch/arm/src/str71x/str71x_timerisr.c b/nuttx/arch/arm/src/str71x/str71x_timerisr.c index de71dd8c3..c11bd53bf 100644 --- a/nuttx/arch/arm/src/str71x/str71x_timerisr.c +++ b/nuttx/arch/arm/src/str71x/str71x_timerisr.c @@ -156,7 +156,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -164,7 +164,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { irqstate_t flags; diff --git a/nuttx/arch/arm/src/tiva/Make.defs b/nuttx/arch/arm/src/tiva/Make.defs index 9fb7a4eb6..e97d5f50f 100644 --- a/nuttx/arch/arm/src/tiva/Make.defs +++ b/nuttx/arch/arm/src/tiva/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/tiva/Make.defs # -# Copyright (C) 2009-2011, 2013 Gregory Nutt. All rights reserved. +# Copyright (C) 2009-2011, 2013-2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -74,8 +74,12 @@ endif CHIP_ASRCS = CHIP_CSRCS = tiva_allocateheap.c tiva_start.c tiva_syscontrol.c tiva_irq.c -CHIP_CSRCS += tiva_gpio.c tiva_gpioirq.c tiva_timerisr.c tiva_lowputc.c -CHIP_CSRCS += tiva_serial.c tiva_ssi.c tiva_dumpgpio.c +CHIP_CSRCS += tiva_gpio.c tiva_gpioirq.c tiva_lowputc.c tiva_serial.c +CHIP_CSRCS += tiva_ssi.c tiva_dumpgpio.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += tiva_timerisr.c +endif ifeq ($(CONFIG_NUTTX_KERNEL),y) CHIP_CSRCS += tiva_userspace.c tiva_mpuinit.c diff --git a/nuttx/arch/arm/src/tiva/tiva_timerisr.c b/nuttx/arch/arm/src/tiva/tiva_timerisr.c index d579b491f..6f371a33a 100644 --- a/nuttx/arch/arm/src/tiva/tiva_timerisr.c +++ b/nuttx/arch/arm/src/tiva/tiva_timerisr.c @@ -105,7 +105,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -113,7 +113,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/avr/src/at32uc3/Make.defs b/nuttx/arch/avr/src/at32uc3/Make.defs index 69d17456d..fa1f010cf 100644 --- a/nuttx/arch/avr/src/at32uc3/Make.defs +++ b/nuttx/arch/avr/src/at32uc3/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/avr/src/at32uc3/Make.defs # -# Copyright (C) 2010 Gregory Nutt. All rights reserved. +# Copyright (C) 2010, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -35,12 +35,12 @@ # The start-up, "head", file -HEAD_ASRC = up_nommuhead.S +HEAD_ASRC = up_nommuhead.S # Common AVR/AVR32 files -CMN_ASRCS = up_exceptions.S up_fullcontextrestore.S up_switchcontext.S -CMN_CSRCS = up_assert.c up_allocateheap.c up_blocktask.c up_copystate.c \ +CMN_ASRCS = up_exceptions.S up_fullcontextrestore.S up_switchcontext.S +CMN_CSRCS = up_assert.c up_allocateheap.c up_blocktask.c up_copystate.c \ up_createstack.c up_mdelay.c up_udelay.c up_exit.c up_idle.c \ up_initialize.c up_initialstate.c up_interruptcontext.c \ up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c \ @@ -51,20 +51,21 @@ CMN_CSRCS = up_assert.c up_allocateheap.c up_blocktask.c up_copystate.c \ # Configuration-dependent common files ifeq ($(CONFIG_ARCH_STACKDUMP),y) -CMN_CSRCS += up_dumpstate.c +CMN_CSRCS += up_dumpstate.c endif # Required AT32UC3 files -CHIP_ASRCS = -CHIP_CSRCS = at32uc3_clkinit.c at32uc3_gpio.c at32uc3_irq.c \ - at32uc3_lowconsole.c at32uc3_lowinit.c at32uc3_serial.c \ - at32uc3_timerisr.c +CHIP_ASRCS = +CHIP_CSRCS = at32uc3_clkinit.c at32uc3_gpio.c at32uc3_irq.c \ + at32uc3_lowconsole.c at32uc3_lowinit.c at32uc3_serial.c # Configuration-dependent AT32UC3 files -ifeq ($(CONFIG_AVR32_GPIOIRQ),y) -CHIP_CSRCS += at32uc3_gpioirq.c +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += at32uc3_timerisr.c endif - +ifeq ($(CONFIG_AVR32_GPIOIRQ),y) +CHIP_CSRCS += at32uc3_gpioirq.c +endif diff --git a/nuttx/arch/avr/src/at32uc3/at32uc3_timerisr.c b/nuttx/arch/avr/src/at32uc3/at32uc3_timerisr.c index 361fb8ec2..b12f8e264 100644 --- a/nuttx/arch/avr/src/at32uc3/at32uc3_timerisr.c +++ b/nuttx/arch/avr/src/at32uc3/at32uc3_timerisr.c @@ -178,7 +178,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -187,7 +187,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t regval; diff --git a/nuttx/arch/avr/src/at90usb/Make.defs b/nuttx/arch/avr/src/at90usb/Make.defs index be3726134..fb79d877c 100644 --- a/nuttx/arch/avr/src/at90usb/Make.defs +++ b/nuttx/arch/avr/src/at90usb/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/avr/src/at90usb/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -35,12 +35,12 @@ # The start-up, "head", file -HEAD_ASRC = at90usb_head.S +HEAD_ASRC = at90usb_head.S # Common AVR files -CMN_ASRCS = up_switchcontext.S -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ +CMN_ASRCS = up_switchcontext.S +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c \ up_initialstate.c up_interruptcontext.c up_irq.c up_lowputs.c \ up_mdelay.c up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c \ @@ -51,29 +51,33 @@ CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ # Configuration-dependent common files ifeq ($(CONFIG_ARCH_STACKDUMP),y) -CMN_CSRCS += up_dumpstate.c +CMN_CSRCS += up_dumpstate.c endif ifeq ($(CONFIG_AVR_SPI),y) -CMN_CSRCS += up_spi.c +CMN_CSRCS += up_spi.c endif ifeq ($(CONFIG_DEBUG_STACK),y) -CMN_CSRCS += up_checkstack.c +CMN_CSRCS += up_checkstack.c endif ifeq ($(CONFIG_ARCH_ROMGETC),y) -CMN_CSRCS += up_romgetc.c +CMN_CSRCS += up_romgetc.c endif # Required AT90USB files -CHIP_ASRCS = at90usb_exceptions.S -CHIP_CSRCS = at90usb_lowconsole.c at90usb_lowinit.c at90usb_serial.c at90usb_timerisr.c +CHIP_ASRCS = at90usb_exceptions.S +CHIP_CSRCS = at90usb_lowconsole.c at90usb_lowinit.c at90usb_serial.c # Configuration-dependent aT90USB files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += at90usb_timerisr.c +endif + ifeq ($(CONFIG_AVR_USBDEV),y) -CHIP_CSRCS += at90usb_usbdev.c +CHIP_CSRCS += at90usb_usbdev.c endif diff --git a/nuttx/arch/avr/src/at90usb/at90usb_timerisr.c b/nuttx/arch/avr/src/at90usb/at90usb_timerisr.c index 21e577ad2..a6e82b604 100644 --- a/nuttx/arch/avr/src/at90usb/at90usb_timerisr.c +++ b/nuttx/arch/avr/src/at90usb/at90usb_timerisr.c @@ -132,7 +132,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -141,7 +141,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* Setup timer 1 compare match A to generate a tick interrupt. * diff --git a/nuttx/arch/avr/src/atmega/Make.defs b/nuttx/arch/avr/src/atmega/Make.defs index 826d372a1..7ffd174e0 100644 --- a/nuttx/arch/avr/src/atmega/Make.defs +++ b/nuttx/arch/avr/src/atmega/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/avr/src/atmega/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -35,12 +35,12 @@ # The start-up, "head", file -HEAD_ASRC = atmega_head.S +HEAD_ASRC = atmega_head.S # Common AVR files -CMN_ASRCS = up_switchcontext.S -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ +CMN_ASRCS = up_switchcontext.S +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c \ up_initialstate.c up_interruptcontext.c up_irq.c up_lowputs.c \ up_mdelay.c up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c \ @@ -51,30 +51,32 @@ CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c \ # Configuration-dependent common files ifeq ($(CONFIG_ARCH_STACKDUMP),y) -CMN_CSRCS += up_dumpstate.c +CMN_CSRCS += up_dumpstate.c endif ifeq ($(CONFIG_AVR_SPI),y) -CMN_CSRCS += up_spi.c +CMN_CSRCS += up_spi.c endif ifeq ($(CONFIG_DEBUG_STACK),y) -CMN_CSRCS += up_checkstack.c +CMN_CSRCS += up_checkstack.c endif ifeq ($(CONFIG_ARCH_ROMGETC),y) -CMN_CSRCS += up_romgetc.c +CMN_CSRCS += up_romgetc.c endif # Required ATMEGA files -CHIP_ASRCS = atmega_exceptions.S -CHIP_CSRCS = atmega_lowconsole.c atmega_lowinit.c atmega_serial.c atmega_timerisr.c +CHIP_ASRCS = atmega_exceptions.S +CHIP_CSRCS = atmega_lowconsole.c atmega_lowinit.c atmega_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += atmega_timerisr.c +endif # Configuration-dependent ATMEGA files ifeq ($(CONFIG_AVR_GPIOIRQ),y) CHIP_CSRCS += endif - - diff --git a/nuttx/arch/avr/src/atmega/atmega_timerisr.c b/nuttx/arch/avr/src/atmega/atmega_timerisr.c index bcac060a0..4c3ada87b 100644 --- a/nuttx/arch/avr/src/atmega/atmega_timerisr.c +++ b/nuttx/arch/avr/src/atmega/atmega_timerisr.c @@ -132,7 +132,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -141,7 +141,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* Setup timer 1 compare match A to generate a tick interrupt. * diff --git a/nuttx/arch/avr/src/common/up_initialize.c b/nuttx/arch/avr/src/common/up_initialize.c index ed61c5f1c..630e5d405 100644 --- a/nuttx/arch/avr/src/common/up_initialize.c +++ b/nuttx/arch/avr/src/common/up_initialize.c @@ -217,7 +217,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/avr/src/common/up_internal.h b/nuttx/arch/avr/src/common/up_internal.h index 75c9e5cb1..42d4d7d0e 100644 --- a/nuttx/arch/avr/src/common/up_internal.h +++ b/nuttx/arch/avr/src/common/up_internal.h @@ -182,7 +182,7 @@ void lowconsole_init(void); /* Defined in chip/xxx_timerisr.c */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); /* Defined in configs/<board-name>/src/up_leds.c */ diff --git a/nuttx/arch/hc/src/common/up_initialize.c b/nuttx/arch/hc/src/common/up_initialize.c index dce13c86e..c3af48206 100644 --- a/nuttx/arch/hc/src/common/up_initialize.c +++ b/nuttx/arch/hc/src/common/up_initialize.c @@ -140,7 +140,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/hc/src/common/up_internal.h b/nuttx/arch/hc/src/common/up_internal.h index cf34e6ed9..ffaf09380 100644 --- a/nuttx/arch/hc/src/common/up_internal.h +++ b/nuttx/arch/hc/src/common/up_internal.h @@ -181,7 +181,7 @@ extern void up_sigdeliver(void); /* System timer initialization */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); extern int up_timerisr(int irq, uint32_t *regs); /* Debug output */ diff --git a/nuttx/arch/hc/src/m9s12/Make.defs b/nuttx/arch/hc/src/m9s12/Make.defs index 7ca06b436..41be083df 100644 --- a/nuttx/arch/hc/src/m9s12/Make.defs +++ b/nuttx/arch/hc/src/m9s12/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/arm/src/m9s12/Make.defs # -# Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2009, 2011, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -33,18 +33,22 @@ # ############################################################################ -HEAD_ASRC = m9s12_vectors.S +HEAD_ASRC = m9s12_vectors.S -CMN_ASRCS = -CMN_CSRCS = up_allocateheap.c up_blocktask.c up_copystate.c up_createstack.c \ +CMN_ASRCS = +CMN_CSRCS = up_allocateheap.c up_blocktask.c up_copystate.c up_createstack.c \ up_doirq.c up_exit.c up_idle.c up_initialize.c up_interruptcontext.c \ up_mdelay.c up_modifyreg16.c up_modifyreg32.c up_modifyreg8.c \ up_puts.c up_releasepending.c up_releasestack.c up_reprioritizertr.c \ up_udelay.c up_unblocktask.c up_usestack.c -CHIP_ASRCS = m9s12_start.S m9s12_lowputc.S m9s12_saveusercontext.S -CHIP_CSRCS = m9s12_assert.c m9s12_gpio.c m9s12_gpioirq.c m9s12_initialstate.c \ - m9s12_irq.c m9s12_serial.c m9s12_timerisr.c +CHIP_ASRCS = m9s12_start.S m9s12_lowputc.S m9s12_saveusercontext.S +CHIP_CSRCS = m9s12_assert.c m9s12_gpio.c m9s12_gpioirq.c m9s12_initialstate.c \ + m9s12_irq.c m9s12_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += m9s12_timerisr.c +endif ifeq ($(CONFIG_DEBUG_GPIO),y) CHIP_CSRCS += m9s12_dumpgpio.c diff --git a/nuttx/arch/hc/src/m9s12/m9s12_timerisr.c b/nuttx/arch/hc/src/m9s12/m9s12_timerisr.c index 46733da01..2658e440a 100644 --- a/nuttx/arch/hc/src/m9s12/m9s12_timerisr.c +++ b/nuttx/arch/hc/src/m9s12/m9s12_timerisr.c @@ -152,7 +152,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the system timer @@ -160,7 +160,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t tmp; uint8_t regval; diff --git a/nuttx/arch/mips/src/common/up_initialize.c b/nuttx/arch/mips/src/common/up_initialize.c index de82d8379..fa43efffd 100644 --- a/nuttx/arch/mips/src/common/up_initialize.c +++ b/nuttx/arch/mips/src/common/up_initialize.c @@ -142,7 +142,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/mips/src/common/up_internal.h b/nuttx/arch/mips/src/common/up_internal.h index 3e9da3e2c..4f9e51bbe 100644 --- a/nuttx/arch/mips/src/common/up_internal.h +++ b/nuttx/arch/mips/src/common/up_internal.h @@ -264,7 +264,7 @@ extern void up_serialinit(void); /* System timer */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); /* Network */ diff --git a/nuttx/arch/mips/src/pic32mx/Make.defs b/nuttx/arch/mips/src/pic32mx/Make.defs index 861e1c301..873fc1571 100644 --- a/nuttx/arch/mips/src/pic32mx/Make.defs +++ b/nuttx/arch/mips/src/pic32mx/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/mips/src/pic32mx/Make.defs # -# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -64,11 +64,14 @@ endif CHIP_ASRCS = CHIP_CSRCS = pic32mx-irq.c pic32mx-decodeirq.c pic32mx-exception.c pic32mx-gpio.c \ - pic32mx-lowconsole.c pic32mx-lowinit.c pic32mx-serial.c pic32mx-spi.c \ - pic32mx-timerisr.c + pic32mx-lowconsole.c pic32mx-lowinit.c pic32mx-serial.c pic32mx-spi.c # Configuration-dependent PIC32MX files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += pic32mx-timerisr.c +endif + ifeq ($(CONFIG_GPIO_IRQ),y) CHIP_CSRCS += pic32mx_gpioirq.c endif diff --git a/nuttx/arch/mips/src/pic32mx/pic32mx-timerisr.c b/nuttx/arch/mips/src/pic32mx/pic32mx-timerisr.c index af9b0c0b2..0a8b096f6 100644 --- a/nuttx/arch/mips/src/pic32mx/pic32mx-timerisr.c +++ b/nuttx/arch/mips/src/pic32mx/pic32mx-timerisr.c @@ -158,7 +158,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -166,7 +166,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* Configure and enable TIMER1. Used the computed TCKPS divider and timer * match valude. The source will be either the internal PBCLOCK (TCS=0) or diff --git a/nuttx/arch/sh/src/common/up_initialize.c b/nuttx/arch/sh/src/common/up_initialize.c index 061923016..2c91f6f30 100644 --- a/nuttx/arch/sh/src/common/up_initialize.c +++ b/nuttx/arch/sh/src/common/up_initialize.c @@ -127,7 +127,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/sh/src/common/up_internal.h b/nuttx/arch/sh/src/common/up_internal.h index 9734ec51a..180f6cebe 100644 --- a/nuttx/arch/sh/src/common/up_internal.h +++ b/nuttx/arch/sh/src/common/up_internal.h @@ -206,7 +206,7 @@ extern void up_wdtinit(void); /* Defined in up_timerisr.c */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); /* Defined in chip-specific logic if CONFIG_ARCH_NOINTC is not set */ diff --git a/nuttx/arch/sh/src/m16c/Make.defs b/nuttx/arch/sh/src/m16c/Make.defs index be8f160ea..ae5d34be6 100644 --- a/nuttx/arch/sh/src/m16c/Make.defs +++ b/nuttx/arch/sh/src/m16c/Make.defs @@ -1,7 +1,7 @@ ############################################################################## # arch/sh/src/m16c/Make.defs # -# Copyright (C) 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2009, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -33,21 +33,25 @@ # ############################################################################## -HEAD_ASRC = m16c_head.S +HEAD_ASRC = m16c_head.S -CMN_ASRCS = -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c \ +CMN_ASRCS = +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c \ up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c \ up_interruptcontext.c up_lowputs.c up_mdelay.c up_puts.c \ up_releasepending.c up_releasestack.c up_reprioritizertr.c \ up_udelay.c up_unblocktask.c up_usestack.c -CHIP_ASRCS = m16c_vectors.S -CHIP_CSRCS = m16c_initialstate.c m16c_copystate.c m16c_lowputc.c m16c_irq.c \ - m16c_timerisr.c m16c_serial.c m16c_dumpstate.c +CHIP_ASRCS = m16c_vectors.S +CHIP_CSRCS = m16c_initialstate.c m16c_copystate.c m16c_lowputc.c m16c_irq.c \ + m16c_serial.c m16c_dumpstate.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += m16c_timerisr.c +endif ifneq ($(CONFIG_DISABLE_SIGNALS),y) -CHIP_CSRCS += m16c_schedulesigaction.c m16c_sigdeliver.c +CHIP_CSRCS += m16c_schedulesigaction.c m16c_sigdeliver.c endif diff --git a/nuttx/arch/sh/src/m16c/m16c_timerisr.c b/nuttx/arch/sh/src/m16c/m16c_timerisr.c index dfc7f4d91..04d4a619b 100644 --- a/nuttx/arch/sh/src/m16c/m16c_timerisr.c +++ b/nuttx/arch/sh/src/m16c/m16c_timerisr.c @@ -136,7 +136,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -144,7 +144,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* Make sure that no timers are running and that all timer interrupts are * disabled. diff --git a/nuttx/arch/sh/src/sh1/Make.defs b/nuttx/arch/sh/src/sh1/Make.defs index ab96a3657..28a3150d5 100644 --- a/nuttx/arch/sh/src/sh1/Make.defs +++ b/nuttx/arch/sh/src/sh1/Make.defs @@ -1,7 +1,7 @@ ############################################################################## # arch/sh/src/sh1/Make.defs # -# Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2008, 2009, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -33,24 +33,28 @@ # ############################################################################## -HEAD_ASRC = sh1_head.S +HEAD_ASRC = sh1_head.S -CMN_ASRCS = -CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c \ - up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c \ - up_initialstate.c up_interruptcontext.c up_lowputs.c \ - up_mdelay.c up_puts.c up_releasepending.c up_releasestack.c \ - up_reprioritizertr.c up_udelay.c up_unblocktask.c up_usestack.c +CMN_ASRCS = +CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c +CMN_CSRCS += up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c +CMN_CSRCS += up_initialstate.c up_interruptcontext.c up_lowputs.c +CMN_CSRCS += up_mdelay.c up_puts.c up_releasepending.c up_releasestack.c +CMN_CSRCS += up_reprioritizertr.c up_udelay.c up_unblocktask.c up_usestack.c -CHIP_ASRCS = sh1_vector.S sh1_saveusercontext.S -CHIP_CSRCS = sh1_lowputc.c sh1_irq.c sh1_timerisr.c sh1_serial.c \ - sh1_initialstate.c sh1_copystate.c sh1_dumpstate.c +CHIP_ASRCS = sh1_vector.S sh1_saveusercontext.S +CHIP_CSRCS = sh1_lowputc.c sh1_irq.c sh1_serial.c sh1_initialstate.c +CHIP_CSRCS += sh1_copystate.c sh1_dumpstate.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += sh1_timerisr.c +endif ifneq ($(CONFIG_DISABLE_SIGNALS),y) -CMN_CSRCS += sh1_schedulesigaction.c sh1_sigdeliver.c +CMN_CSRCS += sh1_schedulesigaction.c sh1_sigdeliver.c endif ifeq ($(CONFIG_USBDEV),y) -CHIP_CSRCS += +CHIP_CSRCS += endif diff --git a/nuttx/arch/sh/src/sh1/sh1_timerisr.c b/nuttx/arch/sh/src/sh1/sh1_timerisr.c index 803829058..fe0ab89c5 100644 --- a/nuttx/arch/sh/src/sh1/sh1_timerisr.c +++ b/nuttx/arch/sh/src/sh1/sh1_timerisr.c @@ -151,7 +151,7 @@ int up_timerisr(int irq, uint32_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -159,7 +159,7 @@ int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint8_t reg8; diff --git a/nuttx/arch/x86/src/common/up_initialize.c b/nuttx/arch/x86/src/common/up_initialize.c index e5462a4b8..5a90b41ba 100644 --- a/nuttx/arch/x86/src/common/up_initialize.c +++ b/nuttx/arch/x86/src/common/up_initialize.c @@ -142,7 +142,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/x86/src/common/up_internal.h b/nuttx/arch/x86/src/common/up_internal.h index 4d6852fc2..56d5e6510 100644 --- a/nuttx/arch/x86/src/common/up_internal.h +++ b/nuttx/arch/x86/src/common/up_internal.h @@ -232,7 +232,7 @@ extern void up_wdtinit(void); /* Defined in up_timerisr.c */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); /* Defined in up_irq.c */ diff --git a/nuttx/arch/x86/src/qemu/Make.defs b/nuttx/arch/x86/src/qemu/Make.defs index 63cee191f..86fe009ae 100644 --- a/nuttx/arch/x86/src/qemu/Make.defs +++ b/nuttx/arch/x86/src/qemu/Make.defs @@ -52,10 +52,14 @@ CMN_CSRCS += up_schedulesigaction.c up_unblocktask.c up_usestack.c CHIP_ASRCS = qemu_saveusercontext.S qemu_fullcontextrestore.S qemu_vectors.S CHIP_CSRCS = qemu_handlers.c qemu_idle.c qemu_lowputc.c qemu_lowsetup.c -CHIP_CSRCS += qemu_serial.c qemu_timerisr.c +CHIP_CSRCS += qemu_serial.c # Configuration-dependent QEMU files +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += qemu_timerisr.c +endif + ifeq ($(CONFIG_QEMU_KEYPAD),y) CHIP_CSRCS += qemu_keypad.c endif diff --git a/nuttx/arch/x86/src/qemu/qemu_timerisr.c b/nuttx/arch/x86/src/qemu/qemu_timerisr.c index b363d2267..4ca7cf520 100644 --- a/nuttx/arch/x86/src/qemu/qemu_timerisr.c +++ b/nuttx/arch/x86/src/qemu/qemu_timerisr.c @@ -114,7 +114,7 @@ static int up_timerisr(int irq, uint32_t *regs) ****************************************************************************/ /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -122,7 +122,7 @@ static int up_timerisr(int irq, uint32_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* uint32_t to avoid compile time overflow errors */ diff --git a/nuttx/arch/z16/src/common/up_initialize.c b/nuttx/arch/z16/src/common/up_initialize.c index 1b53355f2..3307386b0 100644 --- a/nuttx/arch/z16/src/common/up_initialize.c +++ b/nuttx/arch/z16/src/common/up_initialize.c @@ -146,7 +146,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Register devices */ diff --git a/nuttx/arch/z16/src/common/up_internal.h b/nuttx/arch/z16/src/common/up_internal.h index 7822a211b..f76b970e3 100644 --- a/nuttx/arch/z16/src/common/up_internal.h +++ b/nuttx/arch/z16/src/common/up_internal.h @@ -176,7 +176,7 @@ extern void lowconsole_init(void); /* Defined in up_timerisr.c */ -extern void up_timerinit(void); +extern void up_timer_initialize(void); /* Defined in up_irq.c */ diff --git a/nuttx/arch/z16/src/z16f/Make.defs b/nuttx/arch/z16/src/z16f/Make.defs index 99a9fdda6..8db9e8894 100644 --- a/nuttx/arch/z16/src/z16f/Make.defs +++ b/nuttx/arch/z16/src/z16f/Make.defs @@ -44,7 +44,11 @@ CMN_CSRCS += up_unblocktask.c up_doirq.c up_releasepending.c up_usestack.c CMN_CSRCS += up_exit.c up_releasestack.c up_idle.c up_reprioritizertr.c CHIP_SSRCS = z16f_lowuart.S z16f_saveusercontext.S z16f_restoreusercontext.S -CHIP_CSRCS = z16f_clkinit.c z16f_sysexec.c z16f_irq.c z16f_timerisr.c z16f_serial.c +CHIP_CSRCS = z16f_clkinit.c z16f_sysexec.c z16f_irq.c z16f_serial.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += z16f_timerisr.c +endif ifeq ($(CONFIG_Z16F_ESPI),y) CHIP_CSRCS += z16f_espi.c diff --git a/nuttx/arch/z16/src/z16f/z16f_timerisr.c b/nuttx/arch/z16/src/z16f/z16f_timerisr.c index 9d0075b9a..2016b557d 100644 --- a/nuttx/arch/z16/src/z16f/z16f_timerisr.c +++ b/nuttx/arch/z16/src/z16f/z16f_timerisr.c @@ -99,7 +99,7 @@ int up_timerisr(int irq, uint32_t *regs) } /*************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize @@ -107,7 +107,7 @@ int up_timerisr(int irq, uint32_t *regs) * ***************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t reload; uint32_t scaledfreq; diff --git a/nuttx/arch/z80/src/common/up_initialize.c b/nuttx/arch/z80/src/common/up_initialize.c index 8b4717a9b..a73c09823 100644 --- a/nuttx/arch/z80/src/common/up_initialize.c +++ b/nuttx/arch/z80/src/common/up_initialize.c @@ -131,7 +131,7 @@ void up_initialize(void) /* Initialize the system timer interrupt */ #if !defined(CONFIG_SUPPRESS_INTERRUPTS) && !defined(CONFIG_SUPPRESS_TIMER_INTS) - up_timerinit(); + up_timer_initialize(); #endif /* Initialize the CPU for those that use it (only for the Z180). This diff --git a/nuttx/arch/z80/src/common/up_internal.h b/nuttx/arch/z80/src/common/up_internal.h index 3581242fb..bd5b0f70b 100644 --- a/nuttx/arch/z80/src/common/up_internal.h +++ b/nuttx/arch/z80/src/common/up_internal.h @@ -182,7 +182,7 @@ extern void up_puts(const char *str); /* Defined in up_timerisr.c */ -void up_timerinit(void); +void up_timer_initialize(void); /* Defined in board/up_leds.c */ diff --git a/nuttx/arch/z80/src/ez80/Make.defs b/nuttx/arch/z80/src/ez80/Make.defs index 271ff0f9d..3ce0b4c42 100644 --- a/nuttx/arch/z80/src/ez80/Make.defs +++ b/nuttx/arch/z80/src/ez80/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/z80/src/ez80/Make.defs # -# Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2008-2009, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -33,27 +33,31 @@ # ############################################################################ -HEAD_ASRC = ez80_vectors.asm -HEAD_SSRC = +HEAD_ASRC = ez80_vectors.asm +HEAD_SSRC = -CMN_SSRCS = -CMN_CSRCS = up_initialize.c up_allocateheap.c up_createstack.c \ +CMN_SSRCS = +CMN_CSRCS = up_initialize.c up_allocateheap.c up_createstack.c \ up_releasestack.c up_interruptcontext.c up_blocktask.c \ up_unblocktask.c up_exit.c up_releasepending.c \ up_reprioritizertr.c up_idle.c up_assert.c up_doirq.c \ up_mdelay.c up_udelay.c up_usestack.c up_puts.c -CHIP_ASRCS = ez80_startup.asm ez80_io.asm ez80_irqsave.asm \ +CHIP_ASRCS = ez80_startup.asm ez80_io.asm ez80_irqsave.asm \ ez80_saveusercontext.asm ez80_restorecontext.asm ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) -CHIP_ASRCS += ez80f91_init.asm +CHIP_ASRCS += ez80f91_init.asm +endif + +CHIP_SSRCS = +CHIP_CSRCS = ez80_clock.c ez80_initialstate.c ez80_irq.c ez80_copystate.c +CHIP_CSRCS += ez80_schedulesigaction.c ez80_sigdeliver.c ez80_lowuart.c +CHIP_CSRCS += ez80_serial.c ez80_spi.c ez80_i2c.c ez80_registerdump.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += ez80_timerisr.c endif -CHIP_SSRCS = -CHIP_CSRCS = ez80_clock.c ez80_initialstate.c ez80_irq.c ez80_copystate.c \ - ez80_schedulesigaction.c ez80_sigdeliver.c ez80_timerisr.c \ - ez80_lowuart.c ez80_serial.c ez80_spi.c ez80_i2c.c \ - ez80_registerdump.c ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) ifeq ($(CONFIG_EZ80_EMAC),y) CHIP_CSRCS += ez80_emac.c diff --git a/nuttx/arch/z80/src/ez80/ez80_timerisr.c b/nuttx/arch/z80/src/ez80/ez80_timerisr.c index 3cb3d029d..abda72877 100644 --- a/nuttx/arch/z80/src/ez80/ez80_timerisr.c +++ b/nuttx/arch/z80/src/ez80/ez80_timerisr.c @@ -102,7 +102,7 @@ int up_timerisr(int irq, chipreg_t *regs) } /*************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -110,7 +110,7 @@ int up_timerisr(int irq, chipreg_t *regs) * ***************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint16_t reload; uint8_t reg; diff --git a/nuttx/arch/z80/src/z180/Make.defs b/nuttx/arch/z80/src/z180/Make.defs index ad658094b..3e8c4b7f4 100644 --- a/nuttx/arch/z80/src/z180/Make.defs +++ b/nuttx/arch/z80/src/z180/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/z80/src/z180/Make.defs # -# Copyright (C) 2012 Gregory Nutt. All rights reserved. +# Copyright (C) 2012, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -60,4 +60,7 @@ endif CHIP_CSRCS = z180_copystate.c z180_initialstate.c z180_io.c z180_irq.c CHIP_CSRCS += z180_lowscc.c z180_lowserial.c z180_modifiyreg8.c z180_mmu.c CHIP_CSRCS += z180_registerdump.c z180_schedulesigaction.c z180_sigdeliver.c + +ifneq ($(CONFIG_SCHED_TICKLESS),y) CHIP_CSRCS += z180_timerisr.c +endif diff --git a/nuttx/arch/z80/src/z180/z180_timerisr.c b/nuttx/arch/z80/src/z180/z180_timerisr.c index bf041519e..55a52c9cb 100644 --- a/nuttx/arch/z80/src/z180/z180_timerisr.c +++ b/nuttx/arch/z80/src/z180/z180_timerisr.c @@ -112,7 +112,7 @@ int up_timerisr(int irq, chipreg_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -120,7 +120,7 @@ int up_timerisr(int irq, chipreg_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint8_t regval; diff --git a/nuttx/arch/z80/src/z8/Make.defs b/nuttx/arch/z80/src/z8/Make.defs index 781c82182..50f1d98b0 100644 --- a/nuttx/arch/z80/src/z8/Make.defs +++ b/nuttx/arch/z80/src/z8/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # arch/z80/src/z8/Make.defs # -# Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2008-2009, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <gnutt@nuttx.org> # # Redistribution and use in source and binary forms, with or without @@ -33,17 +33,20 @@ # ############################################################################ -HEAD_SSRC = z8_head.S +HEAD_SSRC = z8_head.S -CMN_SSRCS = -CMN_CSRCS = up_initialize.c up_allocateheap.c up_createstack.c \ +CMN_SSRCS = +CMN_CSRCS = up_initialize.c up_allocateheap.c up_createstack.c \ up_releasestack.c up_interruptcontext.c up_blocktask.c \ up_unblocktask.c up_exit.c up_releasepending.c \ up_reprioritizertr.c up_idle.c up_assert.c up_doirq.c \ up_mdelay.c up_udelay.c up_usestack.c -CHIP_SSRCS = z8_vector.S z8_saveusercontext.S z8_restorecontext.S -CHIP_CSRCS = z8_initialstate.c z8_irq.c z8_saveirqcontext.c \ - z8_schedulesigaction.c z8_sigdeliver.c z8_timerisr.c \ - z8_lowuart.c z8_serial.c z8_i2c.c z8_registerdump.c +CHIP_SSRCS = z8_vector.S z8_saveusercontext.S z8_restorecontext.S +CHIP_CSRCS = z8_initialstate.c z8_irq.c z8_saveirqcontext.c +CHIP_CSRCS += z8_schedulesigaction.c z8_sigdeliver.c z8_lowuart.c +CHIP_CSRCS += z8_serial.c z8_i2c.c z8_registerdump.c +ifneq ($(CONFIG_SCHED_TICKLESS),y) +CHIP_CSRCS += z8_timerisr.c +endif diff --git a/nuttx/arch/z80/src/z8/z8_timerisr.c b/nuttx/arch/z80/src/z8/z8_timerisr.c index 14009fe2e..92113e482 100644 --- a/nuttx/arch/z80/src/z8/z8_timerisr.c +++ b/nuttx/arch/z80/src/z8/z8_timerisr.c @@ -87,7 +87,7 @@ int up_timerisr(int irq, uint32_t *regs) } /*************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -95,7 +95,7 @@ int up_timerisr(int irq, uint32_t *regs) * ***************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { uint32_t reload; diff --git a/nuttx/configs/ea3131/locked/mklocked.sh b/nuttx/configs/ea3131/locked/mklocked.sh index 776247997..ff648d7b7 100755 --- a/nuttx/configs/ea3131/locked/mklocked.sh +++ b/nuttx/configs/ea3131/locked/mklocked.sh @@ -115,7 +115,7 @@ echo "EXTERN(up_vectoraddrexcptn)" >>ld-locked.inc # # Of course, this list must be extended as interrupt handlers are added. -echo "EXTERN(up_timerinit)" >>ld-locked.inc +echo "EXTERN(up_timer_initialize)" >>ld-locked.inc answer=$(checkconfig CONFIG_LPC31_UART) if [ $answer = y ]; then diff --git a/nuttx/configs/viewtool-stm32f107/README.txt b/nuttx/configs/viewtool-stm32f107/README.txt index fec00aa26..ea7d10e2a 100644 --- a/nuttx/configs/viewtool-stm32f107/README.txt +++ b/nuttx/configs/viewtool-stm32f107/README.txt @@ -696,7 +696,7 @@ Configurations CONFIG_EXAMPLES_NXLINES_CIRCLECOLOR=0xf7bb CONFIG_EXAMPLES_NXLINES_BPP=16 - STATUS: Now working; reads 0x8999 as device ID. This may perhaps + STATUS: Not working; reads 0x8999 as device ID. This may perhaps be due to incorrect jumper settings 6. This configuration has been used for verifying the touchscreen on diff --git a/nuttx/configs/xtrs/src/xtr_irq.c b/nuttx/configs/xtrs/src/xtr_irq.c index 1180149cd..6603cfaec 100644 --- a/nuttx/configs/xtrs/src/xtr_irq.c +++ b/nuttx/configs/xtrs/src/xtr_irq.c @@ -77,7 +77,7 @@ void up_irqinitialize(void) * * NOTE: Normally, there are seperate enables for "global" interrupts * and specific device interrupts. In such a "normal" case, the timer - * interrupt should be attached and enabled in the function up_timerinit() + * interrupt should be attached and enabled in the function up_timer_initialize() */ irq_attach(Z80_IRQ_SYSTIMER, (xcpt_t)up_timerisr); diff --git a/nuttx/configs/xtrs/src/xtr_timerisr.c b/nuttx/configs/xtrs/src/xtr_timerisr.c index 295bc65d7..893a41493 100644 --- a/nuttx/configs/xtrs/src/xtr_timerisr.c +++ b/nuttx/configs/xtrs/src/xtr_timerisr.c @@ -80,7 +80,7 @@ int up_timerisr(int irq, FAR chipreg_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -88,7 +88,7 @@ int up_timerisr(int irq, FAR chipreg_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* The timer interrupt was attached in up_irqinitialize -- see comments there */ } diff --git a/nuttx/configs/z80sim/src/z80_irq.c b/nuttx/configs/z80sim/src/z80_irq.c index 7611dc29e..45d4eb962 100644 --- a/nuttx/configs/z80sim/src/z80_irq.c +++ b/nuttx/configs/z80sim/src/z80_irq.c @@ -77,7 +77,7 @@ void up_irqinitialize(void) * * NOTE: Normally, there are seperate enables for "global" interrupts * and specific device interrupts. In such a "normal" case, the timer - * interrupt should be attached and enabled in the function up_timerinit() + * interrupt should be attached and enabled in the function up_timer_initialize() */ irq_attach(Z80_IRQ_SYSTIMER, (xcpt_t)up_timerisr); diff --git a/nuttx/configs/z80sim/src/z80_timerisr.c b/nuttx/configs/z80sim/src/z80_timerisr.c index e6357e8e0..51ae04add 100644 --- a/nuttx/configs/z80sim/src/z80_timerisr.c +++ b/nuttx/configs/z80sim/src/z80_timerisr.c @@ -80,7 +80,7 @@ int up_timerisr(int irq, FAR chipreg_t *regs) } /**************************************************************************** - * Function: up_timerinit + * Function: up_timer_initialize * * Description: * This function is called during start-up to initialize the timer @@ -88,7 +88,7 @@ int up_timerisr(int irq, FAR chipreg_t *regs) * ****************************************************************************/ -void up_timerinit(void) +void up_timer_initialize(void) { /* The timer interrupt was attached in up_irqinitialize -- see comments there */ } diff --git a/nuttx/include/nuttx/arch.h b/nuttx/include/nuttx/arch.h index 74dcdc81f..8442291b1 100644 --- a/nuttx/include/nuttx/arch.h +++ b/nuttx/include/nuttx/arch.h @@ -128,8 +128,8 @@ extern "C" #endif /**************************************************************************** - * These are standard interfaces that must be exported to the - * scheduler from architecture-specific code. + * These are standard interfaces that must be exported to the base RTOS + * logic from architecture-specific code. ****************************************************************************/ /**************************************************************************** @@ -940,6 +940,173 @@ int up_prioritize_irq(int irq, int priority); #endif /**************************************************************************** + * Tickless OS Support. + * + * When CONFIG_SCHED_TICKLESS is enabled, all support for timer interrupts + * is suppressed and the platform specific code is expected to provide the + * following custom functions. + * + * void up_timer_initialize(void): Initializes the timer facilities. Called + * early in the intialization sequence (by up_intialize()). + * int up_timer_gettime(FAR struct timespec *tp): Returns the current + * time from the platform specific time source. + * int up_timer_cancel(void): Cancels the interval timer. + * int up_timer_start(FAR const struct timespec *tp): Start (or re-starts) + * the interval timer. + * int up_timer_resolution(FAR struct timespec *tp): Returns the + * resolution of the interval timer. + * + * The RTOS will provide the following interfaces for use by the platform- + * specific interval timer implementation: + * + * void sched_timer_expiration(void): Called by the platform-specific + * logic when the interval timer expires. + * + ****************************************************************************/ + +/**************************************************************************** + * Name: up_timer_initialize + * + * Description: + * Initializes all platform-specific timer facilities. This function is + * called early in the initialization sequence by up_intialize(). + * On return, the current up-time should be available from + * up_timer_gettime() and the interval timer is ready for use (but not + * actively timing. + * + * Provided by platform-specific code and called from the architecture- + * specific logic. + * + * Input Parameters: + * None + * + * Returned Value: + * None + * + * Assumptions: + * Called early in the initialization sequence before any special + * concurrency protections are required. + * + ****************************************************************************/ + +#if 0 /* Prototyped in up_internal.h in all cases. */ +void up_timer_initialize(void); +#endif + +/**************************************************************************** + * Name: up_timer_gettime + * + * Description: + * Return the elapsed time since power-up (or, more correctly, since + * up_timer_initialize() was called). This function is functionally equivalent + * to: + * + * int clock_gettime(clockid_t clockid, FAR struct timespec *tp); + * + * when clockid is CLOCK_MONOTONIC. + * + * Provided by platform-specific code and called from the RTOS base code. + * + * Input Parameters: + * tp - Provides the location in which to return the up-time. + * + * Returned Value: + * Zero (OK) is returned on success; a negated errno value is returned on + * any failure. + * + * Assumptions: + * Called from the the normal tasking context. The implementation must + * provide whatever mutual exclusion is necessary for correct operation. + * This can include disabling interrupts in order to assure atomic register + * operations. + * + ****************************************************************************/ + +#ifdef CONFIG_SCHED_TICKLESS +int up_timer_gettime(FAR struct timespec *tp); +#endif + +/**************************************************************************** + * Name: up_timer_cancel + * + * Description: + * Cancel the interval timer. up_timer_expiration() will not be called. + * + * Provided by platform-specific code and called from the RTOS base code. + * + * Input Parameters: + * None + * + * Returned Value: + * Zero (OK) is returned on success; a negated errno value is returned on + * any failure. + * + * Assumptions: + * May be called from interrupt level handling or from the normal tasking + * level. Interrupts may need to be disabled internally to assure + * non-reentrancy. + * + ****************************************************************************/ + +#ifdef CONFIG_SCHED_TICKLESS +int up_timer_cancel(void); +#endif + +/**************************************************************************** + * Name: up_timer_start + * + * Description: + * Start the interval timer. up_timer_expiration() will be called at the + * completion of the timeout (unless up_timer_cancel is called to stop + * the timing. + * + * Provided by platform-specific code and called from the RTOS base code. + * + * Input Parameters: + * tp - Provides the time interval until up_timer_expiration() is called. + * + * Returned Value: + * Zero (OK) is returned on success; a negated errno value is returned on + * any failure. + * + * Assumptions: + * May be called from interrupt level handling or from the normal tasking + * level. Interrupts may need to be disabled internally to assure + * non-reentrancy. + * + ****************************************************************************/ + +#ifdef CONFIG_SCHED_TICKLESS +int up_timer_start(FAR const struct timespec *tp); +#endif + +/**************************************************************************** + * Name: up_timer_resolution + * + * Description: + * Returns the resolution of the interval timer. This defines the minimal + * time separation between two events and is used for scheduling and for + * setting up timed events. + * + * Provided by platform-specific code and called from the RTOS base code. + * + * Input Parameters: + * tp - Provides the location in which to return the timer resolution. + * + * Returned Value: + * + * Assumptions: + * May be called from interrupt level handling or from the normal tasking + * level. Interrupts may need to be disabled internally to assure + * non-reentrancy. + * + ****************************************************************************/ + +#ifdef CONFIG_SCHED_TICKLESS +int up_timer_resolution(FAR struct timespec *tp); +#endif + +/**************************************************************************** * Name: up_romgetc * * Description: @@ -1011,8 +1178,8 @@ void up_cxxinitialize(void); #endif /**************************************************************************** - * These are standard interfaces that are exported by the OS - * for use by the architecture specific logic + * These are standard interfaces that are exported by the OS for use by the + * architecture specific logic ****************************************************************************/ /**************************************************************************** @@ -1064,6 +1231,26 @@ void weak_function sched_process_cpuload(void); void irq_dispatch(int irq, FAR void *context); /**************************************************************************** + * Name: sched_timer_expiration + * + * Description: + * if CONFIG_SCHED_TICKLESS is defined, then this function is provided by + * the RTOS base code and called from platform-specific code when the + * interval timer used to implemented the tick-less OS expires. + * + * Input Parameters: + * + * Returned Value: + * Base code implementation assumes that this function is called from + * interrupt handling logic with interrupts disabled. + * + ****************************************************************************/ + +#ifdef CONFIG_SCHED_TICKLESS +void sched_timer_expiration(void); +#endif + +/**************************************************************************** * Name: up_check_stack and friends * * Description: |