71 lines
1.7 KiB
Makefile
71 lines
1.7 KiB
Makefile
#
|
|
# The TARGET is expected to indicate which *specific* AT91SAM7 chip
|
|
# is being used, since features and memory vary from chip to chip
|
|
#
|
|
# chip ram rom EMAC CAN
|
|
# AT91CHIP := sam7s64 16k 64k N N
|
|
# AT91CHIP := sam7s256 64k 256k N N
|
|
# AT91CHIP := sam7x256 64k 256k Y Y
|
|
#
|
|
|
|
# ROMBASE, MEMBASE, and MEMSIZE are required for the linker script
|
|
ROMBASE := 0x0
|
|
MEMBASE := 0x200000
|
|
|
|
TMP_CFG := bad
|
|
ifeq ($(AT91CHIP), sam7x256)
|
|
DEFINES += AT91_SAM7X=1
|
|
DEFINES += AT91_RAMSIZE=65536
|
|
DEFINES += AT91_ROMSIZE=262144
|
|
MEMSIZE := 65536
|
|
TMP_CFG := ok
|
|
endif
|
|
ifeq ($(AT91CHIP), sam7s256)
|
|
DEFINES += AT91_SAM7S=1
|
|
DEFINES += AT91_RAMSIZE=65536
|
|
DEFINES += AT91_ROMSIZE=262144
|
|
MEMSIZE := 65536
|
|
TMP_CFG := ok
|
|
endif
|
|
ifeq ($(AT91CHIP), sam7s64)
|
|
DEFINES += AT91_SAM7S=1
|
|
DEFINES += AT91_RAMSIZE=16384
|
|
DEFINES += AT91_ROMSIZE=65536
|
|
MEMSIZE := 16384
|
|
TMP_CFG := ok
|
|
endif
|
|
|
|
ifeq ($(TMP_CFG), bad)
|
|
$(error The AT91SAM7 platform requires AT91CHIP be set by the target)
|
|
endif
|
|
|
|
LOCAL_DIR := $(GET_LOCAL_DIR)
|
|
|
|
ARCH := arm
|
|
ARM_CPU := arm7tdmi
|
|
|
|
DEFINES += AT91_MCK_MHZ=48000000
|
|
|
|
INCLUDES += \
|
|
-I$(LOCAL_DIR)/include
|
|
|
|
OBJS += \
|
|
$(LOCAL_DIR)/debug.o \
|
|
$(LOCAL_DIR)/interrupts.o \
|
|
$(LOCAL_DIR)/platform_early.o \
|
|
$(LOCAL_DIR)/platform.o \
|
|
$(LOCAL_DIR)/timer.o \
|
|
$(LOCAL_DIR)/init_clock.o \
|
|
$(LOCAL_DIR)/init_clock_48mhz.o \
|
|
$(LOCAL_DIR)/mux.o \
|
|
$(LOCAL_DIR)/emac_dev.o
|
|
|
|
# use a two segment memory layout, where all of the read-only sections
|
|
# of the binary reside in rom, and the read/write are in memory. The
|
|
# ROMBASE, MEMBASE, and MEMSIZE make variables are required to be set
|
|
# for the linker script to be generated properly.
|
|
#
|
|
LINKER_SCRIPT += \
|
|
$(BUILDDIR)/system-twosegment.ld
|
|
|