194 lines
5.4 KiB
Plaintext
194 lines
5.4 KiB
Plaintext
############################################################################
|
|
# arch/arm/src/kinetis/Make.defs
|
|
#
|
|
# Copyright (C) 2011, 2013-2018 Gregory Nutt. All rights reserved.
|
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in
|
|
# the documentation and/or other materials provided with the
|
|
# distribution.
|
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
|
# used to endorse or promote products derived from this software
|
|
# without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
############################################################################
|
|
|
|
CMN_ASRCS = arm_saveusercontext.S arm_fullcontextrestore.S arm_switchcontext.S
|
|
CMN_ASRCS += arm_testset.S arm_fetchadd.S vfork.S
|
|
|
|
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
|
|
ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y)
|
|
CMN_ASRCS += arm_setjmp.S
|
|
endif
|
|
endif
|
|
|
|
CMN_CSRCS = arm_assert.c arm_blocktask.c arm_copyfullstate.c arm_createstack.c
|
|
CMN_CSRCS += arm_mdelay.c arm_udelay.c arm_exit.c arm_initialize.c arm_memfault.c
|
|
CMN_CSRCS += arm_initialstate.c arm_interruptcontext.c arm_modifyreg8.c
|
|
CMN_CSRCS += arm_modifyreg16.c arm_modifyreg32.c arm_releasestack.c
|
|
CMN_CSRCS += arm_reprioritizertr.c arm_schedulesigaction.c arm_releasepending.c
|
|
CMN_CSRCS += arm_sigdeliver.c arm_stackframe.c arm_unblocktask.c arm_usestack.c
|
|
CMN_CSRCS += arm_doirq.c arm_hardfault.c arm_svcall.c arm_vfork.c
|
|
CMN_CSRCS += arm_systemreset.c arm_trigger_irq.c
|
|
|
|
ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
|
|
CMN_CSRCS += arm_stackcheck.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_ARMV7M_LAZYFPU),y)
|
|
CMN_ASRCS += arm_lazyexception.S
|
|
else
|
|
CMN_ASRCS += arm_exception.S
|
|
endif
|
|
CMN_CSRCS += arm_vectors.c
|
|
|
|
ifeq ($(CONFIG_ARCH_RAMVECTORS),y)
|
|
CMN_CSRCS += arm_ramvec_initialize.c arm_ramvec_attach.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_ARM_MPU),y)
|
|
CMN_CSRCS += arm_mpu.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BUILD_PROTECTED),y)
|
|
CMN_CSRCS += arm_task_start.c arm_pthread_start.c
|
|
CMN_CSRCS += arm_signal_dispatch.c
|
|
CMN_UASRCS += arm_signal_handler.S
|
|
endif
|
|
|
|
ifeq ($(CONFIG_STACK_COLORATION),y)
|
|
CMN_CSRCS += arm_checkstack.c
|
|
endif
|
|
|
|
# Use of common/arm_etherstub.c is deprecated. The preferred mechanism is to
|
|
# use CONFIG_NETDEV_LATEINIT=y to suppress the call to arm_netinitialize() in
|
|
# up_initialize(). Then this stub would not be needed.
|
|
|
|
ifeq ($(CONFIG_NET),y)
|
|
ifneq ($(CONFIG_KINETIS_ENET),y)
|
|
CMN_CSRCS += arm_etherstub.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_ARCH_FPU),y)
|
|
CMN_ASRCS += arm_fpu.S
|
|
CMN_CSRCS += arm_copyarmstate.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_ARMV7M_ITMSYSLOG),y)
|
|
CMN_CSRCS += arm_itm_syslog.c
|
|
endif
|
|
|
|
# Required Kinetis files
|
|
|
|
CHIP_CSRCS = kinetis_allocateheap.c kinetis_clockconfig.c kinetis_clrpend.c
|
|
CHIP_CSRCS += kinetis_irq.c kinetis_lowputc.c kinetis_pin.c kinetis_pingpio.c
|
|
CHIP_CSRCS += kinetis_serialinit.c kinetis_start.c kinetis_uid.c kinetis_wdog.c
|
|
CHIP_CSRCS += kinetis_cfmconfig.c kinetis_mpuinit.c
|
|
|
|
# Configuration-dependent Kinetis K files
|
|
|
|
ifneq ($(CONFIG_ARCH_IDLE_CUSTOM),y)
|
|
CHIP_CSRCS += kinetis_idle.c
|
|
endif
|
|
|
|
ifneq ($(CONFIG_SCHED_TICKLESS),y)
|
|
CHIP_CSRCS += kinetis_timerisr.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BUILD_PROTECTED),y)
|
|
CHIP_CSRCS += kinetis_userspace.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_KINETIS_GPIOIRQ),y)
|
|
CHIP_CSRCS += kinetis_pinirq.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_DEBUG_GPIO_INFO),y)
|
|
CHIP_CSRCS += kinetis_pindump.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_KINETIS_UART),y)
|
|
CHIP_CSRCS += kinetis_serial.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_KINETIS_LPUART),y)
|
|
CHIP_CSRCS += kinetis_lpserial.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_KINETIS_SDHC),y)
|
|
CHIP_CSRCS += kinetis_sdhc.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_SPI),y)
|
|
CHIP_CSRCS += kinetis_spi.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_USBDEV),y)
|
|
CHIP_CSRCS += kinetis_usbdev.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_USBHOST),y)
|
|
ifneq ($(CONFIG_KINETIS_USBHS),y)
|
|
CHIP_CSRCS += kinetis_usbhost.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_USBHOST),y)
|
|
ifeq ($(CONFIG_KINETIS_USBHS),y)
|
|
CHIP_CSRCS += kinetis_usbhshost.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_KINETIS_DMA),y)
|
|
CHIP_CSRCS += kinetis_dma.c kinetis_pindma.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_PWM),y)
|
|
CHIP_CSRCS += kinetis_pwm.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_I2C),y)
|
|
CHIP_CSRCS += kinetis_i2c.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RTC),y)
|
|
CHIP_CSRCS += kinetis_rtc.c
|
|
ifeq ($(CONFIG_RTC_DRIVER),y)
|
|
CHIP_CSRCS += kinetis_rtc_lowerhalf.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_NET),y)
|
|
ifeq ($(CONFIG_KINETIS_ENET),y)
|
|
CHIP_CSRCS += kinetis_enet.c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_NET_CAN),y)
|
|
ifeq ($(CONFIG_KINETIS_FLEXCAN),y)
|
|
CHIP_CSRCS += kinetis_flexcan.c
|
|
endif
|
|
endif
|
|
|
|
endif
|