2eff5a6c63
Kconfig files. Repartition some functionality. Bootloader support will need to be provided in logic under arch/z80/src/ez80 so the critical configuration selections were moved the Kconfig file there. arch/z80/src/ez80/ez80_i2c.h: Rename arch/z80/src/ez80/ez80f91_i2c.h. It is sharable by both ez80f91 and ez80f92. arch/z80/src/ez80/: Add logic to perform an additional level of interrupt redirection. This is necessary because the the interrupt handling is part of the loader FLASH-based logic. In order to share interrupts with the program loaded into RAM by the loader, another layer or redirection is required to get control to the interrupt handlers in the loaded program. See ez809f2_loader.asm and ez80f92_program.asm boards/z80/ez80/z20x/scripts: Reduce size of the interrupt re-direction buffer from 1Kb to 512b.
119 lines
4.3 KiB
Plaintext
119 lines
4.3 KiB
Plaintext
############################################################################
|
|
# boards/z80/ez80/z20x/scripts/Make.defs
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership. The
|
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance with the
|
|
# License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
############################################################################
|
|
|
|
include $(TOPDIR)/.config
|
|
include $(TOPDIR)/tools/Config.mk
|
|
include ${TOPDIR}/arch/z80/src/ez80/Toolchain.defs
|
|
include $(TOPDIR)/tools/zds/zds_Config.mk
|
|
|
|
# CFLAGS
|
|
|
|
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
|
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
|
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
|
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
|
ARCHUSRINCLUDES = -usrinc:.
|
|
else
|
|
ARCHASMINCLUDES = -include:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
|
EARCHASMINCLUDES = -include:'$(ETOPDIR)\include;$(EZDSSTDINCDIR);$(EZDSZILOGINCDIR)'
|
|
ARCHSTDINCLUDES = -stdinc:'$(WTOPDIR)\include;$(WZDSSTDINCDIR);$(WZDSZILOGINCDIR)'
|
|
ARCHUSRINCLUDES = -usrinc:'.'
|
|
endif
|
|
|
|
# Assembler definitions
|
|
|
|
ARCHASMCPUFLAGS = -cpu:$(ARCHCPU) -NOigcase
|
|
ARCHASMLIST = -list -NOlistmac -name -pagelen:56 -pagewidth:80 -quiet
|
|
ARCHASMWARNINGS = -warn
|
|
ARCHASMDEFINES = -define:$(ARCHCPUDEF)=1 -define:$(ARCHFAMILY)=1 -define:__ASSEMBLY__
|
|
AFLAGS = $(ARCHASMCPUFLAGS) $(ARCHASMINCLUDES) $(ARCHASMLIST) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)
|
|
|
|
# Compiler definitions
|
|
|
|
ARCHCPUFLAGS = -chartype:S -promote -cpu:$(ARCHCPU) -NOgenprintf -NOmodsect \
|
|
-asmsw:" $(ARCHASMCPUFLAGS) $(EARCHASMINCLUDES) $(ARCHASMWARNINGS) $(ARCHASMOPTIMIZATION)"
|
|
ARCHLIST = -keeplst -NOlist -NOlistinc -keepasm
|
|
ARCHPICFLAGS =
|
|
ARCHWARNINGS = -warn
|
|
ARCHDEFINES = -define:$(ARCHCPUDEF) -define:$(ARCHFAMILY)
|
|
ARCHINCLUDES = $(ARCHSTDINCLUDES) $(ARCHUSRINCLUDES)
|
|
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHLIST) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
|
|
|
|
CPPDEFINES = -D$(ARCHFAMILY) -D$(ARCHCPUDEF) -D__ASSEMBLY__
|
|
CPPINCLUDES = -I$(TOPDIR)$(DELIM)include
|
|
CPPFLAGS = $(CPPDEFINES) $(CPPINCLUDES)
|
|
|
|
# Librarian definitions
|
|
|
|
ARFLAGS = -quiet -warn
|
|
|
|
# Linker definitions
|
|
#
|
|
# Possible configurations
|
|
#
|
|
# 1. FLASH-resident bootloader (CONFIG_EZ80_BOOTLOADER)
|
|
# 2. RAM-resident applications loaded by bootloader (CONFIG_Z20X_PROGRAM)
|
|
# 3. FLASH-resident, standalone program (CONFIG_Z20X_STANDALONE)
|
|
# 4. FLASH-resident, standalone copy-to-RAM program (CONFIG_Z20X_COPYTORAM)
|
|
|
|
ifeq ($(CONFIG_EZ80_BOOTLOADER),y)
|
|
LDSCRIPT = z20x_loader.linkcmd
|
|
else ifeq ($(CONFIG_Z20X_PROGRAM),y)
|
|
LDSCRIPT = z20x_program.linkcmd
|
|
else ifeq ($(CONFIG_Z20X_STANDALONE),y)
|
|
LDSCRIPT = z20x_flash.linkcmd
|
|
else ifeq ($(CONFIG_Z20X_COPYTORAM),y)
|
|
LDSCRIPT = z20x_copytoram.linkcmd
|
|
endif
|
|
|
|
LINKCMDTEMPLATE = $(TOPDIR)$(DELIM)boards$(DELIM)$(CONFIG_ARCH)$(DELIM)$(CONFIG_ARCH_CHIP)$(DELIM)$(CONFIG_ARCH_BOARD)$(DELIM)scripts$(DELIM)$(LDSCRIPT)
|
|
|
|
# Windows native host tool definitions
|
|
|
|
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
|
HOSTCC = mingw32-gcc.exe
|
|
HOSTINCLUDES = -I.
|
|
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -g -pipe
|
|
HOSTLDFLAGS =
|
|
HOSTEXEEXT = .exe
|
|
|
|
# Windows-native host tools
|
|
|
|
#MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative
|
|
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
|
else
|
|
|
|
# Linux/Cygwin host tool definitions
|
|
|
|
HOSTCC = gcc
|
|
HOSTINCLUDES = -I.
|
|
HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wundef -g -pipe
|
|
HOSTLDFLAGS =
|
|
|
|
# This is the tool to use for dependencies (i.e., none)
|
|
|
|
MKDEP = $(TOPDIR)$(DELIM)tools$(DELIM)mknulldeps.sh
|
|
|
|
# ZDS-II cannot follow Cygwin soft links, so we will have to use directory copies
|
|
|
|
DIRLINK = $(TOPDIR)$(DELIM)tools$(DELIM)copydir.sh
|
|
DIRUNLINK = $(TOPDIR)$(DELIM)tools$(DELIM)unlink.sh
|
|
endif
|