forked from Archive/PX4-Autopilot
A few more Windows native build fixes for eZ80
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5383 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
00f711cdf1
commit
1cb21ddcd1
28
nuttx/TODO
28
nuttx/TODO
|
@ -32,7 +32,7 @@ nuttx/
|
|||
(0) ARM/LPC43x (arch/arm/src/lpc43xx/)
|
||||
(3) ARM/STR71x (arch/arm/src/str71x/)
|
||||
(3) ARM/LM3S6918 (arch/arm/src/lm3s/)
|
||||
(6) ARM/STM32 (arch/arm/src/stm32/)
|
||||
(4) ARM/STM32 (arch/arm/src/stm32/)
|
||||
(3) AVR (arch/avr)
|
||||
(0) Intel x86 (arch/x86)
|
||||
(4) 8051 / MCS51 (arch/8051/)
|
||||
|
@ -1349,11 +1349,6 @@ o ARM/LM3S6918 (arch/arm/src/lm3s/)
|
|||
o ARM/STM32 (arch/arm/src/stm32/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Title: NOR FLASH DRIVER
|
||||
Description: NOR Flash driver with FTL layer to support a file system.
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Title: USBSERIAL ISSUES
|
||||
Description A USB device-side driver is in place but not well tested. At
|
||||
present, the apps/examples/usbserial test sometimes fails. The situation
|
||||
|
@ -1376,11 +1371,6 @@ o ARM/STM32 (arch/arm/src/stm32/)
|
|||
Status: Open
|
||||
Priority: Medium-High
|
||||
|
||||
Title: FSMC EXTERNAL MEMORY UNTESTED
|
||||
Description: FSMC external memory support is untested
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Title: DMA EXTENSIONS
|
||||
Description: DMA logic needs to be extended. DMA2, Channel 5, will not work
|
||||
because the DMA2 channels 4 & 5 share the same interrupt.
|
||||
|
@ -1388,12 +1378,6 @@ o ARM/STM32 (arch/arm/src/stm32/)
|
|||
Priority: Low until someone needs DMA1, Channel 5 (ADC3, UART4_TX, TIM5_CH1, or
|
||||
TIM8_CH2).
|
||||
|
||||
Title: UNFINISHED DRIVERS
|
||||
Description: The following drivers are incomplete: DAC. The following drivers
|
||||
are untested: DMA on the F4, CAN.
|
||||
Status: Open
|
||||
Priority: Medium
|
||||
|
||||
Title: F4 SDIO MULTI-BLOCK TRANSFER FAILURES
|
||||
Description: If you use a large I/O buffer to access the file system, then the
|
||||
MMCSD driver will perform multiple block SD transfers. With DMA
|
||||
|
@ -1417,6 +1401,16 @@ o ARM/STM32 (arch/arm/src/stm32/)
|
|||
Status: Open
|
||||
Priority: Low (I am not even sure if this is a problem yet).
|
||||
|
||||
Title: DMA FROM EXTERNAL, FSMC MEMORY
|
||||
Description: I have seen a problem on F1 where all SDIO DMAs work exist for
|
||||
write DMAs from FSMC memory (i.e., from FSMC memory to SDIO).
|
||||
Read transfers work fine (SDIO to FSMC memory). The failure is
|
||||
a data underrun error with zero bytes of data transferred. The
|
||||
workaround for now is to use DMA buffers allocted from internal
|
||||
SRAM.
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
o AVR (arch/avr)
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ nuttx.linkcmd: $(LINKCMDTEMPLATE)
|
|||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
@echo "$(TOPDIR)\nuttx"= \>>nuttx.linkcmd
|
||||
@echo "$(ARCHSRCDIR)\$(HEAD_OBJ)", \>>nuttx.linkcmd
|
||||
$(Q) for %%G in ($(LINKLIBS)) do ( echo "$(TOPDIR)\lib\%%G", \>>nuttx.linkcmd; )
|
||||
$(Q) for %%G in ($(LINKLIBS)) do ( echo "$(TOPDIR)\lib\%%G", \>>nuttx.linkcmd )
|
||||
@echo "$(ARCHSRCDIR)\board\libboard$(LIBEXT)", \>>nuttx.linkcmd
|
||||
ifeq ($(CONFIG_ARCH_CHIP_Z8F640X),y)
|
||||
@echo "$(ZDSSTDLIBDIR)\chelprevaaD$(LIBEXT)", \>>nuttx.linkcmd
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
; Included Files
|
||||
;**************************************************************************
|
||||
|
||||
include "ez80f91.inc"
|
||||
include "ez80F91.inc"
|
||||
|
||||
;**************************************************************************
|
||||
; Constants
|
||||
|
@ -254,4 +254,4 @@ _ez80_oscfreqmult:
|
|||
; dl _SYS_CLK_FREQ
|
||||
_ez80_sysclksrc:
|
||||
db _SYS_CLK_SRC
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,38 +36,38 @@
|
|||
-include $(TOPDIR)/Make.defs
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
INCDIROPT = -w
|
||||
INCDIROPT = -w
|
||||
endif
|
||||
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)$(DELIM)sched}
|
||||
CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" "$(TOPDIR)$(DELIM)sched"}
|
||||
|
||||
# Basic BINFMT source files
|
||||
|
||||
BINFMT_ASRCS =
|
||||
BINFMT_CSRCS = binfmt_globals.c binfmt_register.c binfmt_unregister.c \
|
||||
binfmt_loadmodule.c binfmt_unloadmodule.c binfmt_execmodule.c \
|
||||
binfmt_exec.c binfmt_dumpmodule.c
|
||||
BINFMT_ASRCS =
|
||||
BINFMT_CSRCS = binfmt_globals.c binfmt_register.c binfmt_unregister.c \
|
||||
binfmt_loadmodule.c binfmt_unloadmodule.c binfmt_execmodule.c \
|
||||
binfmt_exec.c binfmt_dumpmodule.c
|
||||
|
||||
# Symbol table source files
|
||||
|
||||
BINFMT_CSRCS += symtab_findbyname.c symtab_findbyvalue.c \
|
||||
symtab_findorderedbyname.c symtab_findorderedbyvalue.c
|
||||
BINFMT_CSRCS += symtab_findbyname.c symtab_findbyvalue.c \
|
||||
symtab_findorderedbyname.c symtab_findorderedbyvalue.c
|
||||
|
||||
# Add configured binary modules
|
||||
|
||||
VPATH =
|
||||
SUBDIRS =
|
||||
DEPPATH = --dep-path .
|
||||
VPATH =
|
||||
SUBDIRS =
|
||||
DEPPATH = --dep-path .
|
||||
|
||||
include libnxflat$(DELIM)Make.defs
|
||||
include libelf$(DELIM)Make.defs
|
||||
|
||||
BINFMT_AOBJS = $(BINFMT_ASRCS:.S=$(OBJEXT))
|
||||
BINFMT_COBJS = $(BINFMT_CSRCS:.c=$(OBJEXT))
|
||||
BINFMT_AOBJS = $(BINFMT_ASRCS:.S=$(OBJEXT))
|
||||
BINFMT_COBJS = $(BINFMT_CSRCS:.c=$(OBJEXT))
|
||||
|
||||
BINFMT_SRCS = $(BINFMT_ASRCS) $(BINFMT_CSRCS)
|
||||
BINFMT_OBJS = $(BINFMT_AOBJS) $(BINFMT_COBJS)
|
||||
BINFMT_SRCS = $(BINFMT_ASRCS) $(BINFMT_CSRCS)
|
||||
BINFMT_OBJS = $(BINFMT_AOBJS) $(BINFMT_COBJS)
|
||||
|
||||
BIN = libbinfmt$(LIBEXT)
|
||||
BIN = libbinfmt$(LIBEXT)
|
||||
|
||||
all: $(BIN)
|
||||
|
||||
|
|
|
@ -51,9 +51,9 @@ ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
|||
|
||||
# CFLAGs
|
||||
|
||||
ARCHASMINCLUDES = -include:'$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)'
|
||||
EARCHASMINCLUDES = -include:'$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)'
|
||||
ARCHSTDINCLUDES = -stdinc:"$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)"
|
||||
ARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
EARCHASMINCLUDES = -include:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHSTDINCLUDES = -stdinc:$(TOPDIR)\include;$(ZDSSTDINCDIR);$(ZDSZILOGINCDIR)
|
||||
ARCHUSRINCLUDES = -usrinc:.
|
||||
else
|
||||
WINTOOL := y
|
||||
|
@ -169,17 +169,18 @@ HEXEXT = .hex
|
|||
# object files into an archive
|
||||
|
||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||
|
||||
define PREPROCESS
|
||||
@echo CPP: $1->$2
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
$(Q) "$(CC)" $(CFLAGS) $1
|
||||
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
$(Q) "$(AS)" $(AFLAGS) $1
|
||||
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
|
@ -195,20 +196,20 @@ define CLEAN
|
|||
$(Q) if exist *.lod (del /f /q *.lod)
|
||||
$(Q) if exist *.lst (del /f /q *.lst)
|
||||
endef
|
||||
|
||||
else
|
||||
|
||||
define PREPROCESS
|
||||
@echo "CPP: $1->$2"
|
||||
$(Q) "$(CPP)" $(CPPFLAGS) $1 -o $2
|
||||
endef
|
||||
|
||||
define COMPILE
|
||||
@#echo "CC: $1"
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(CC)" $(CFLAGS) $$wfile)
|
||||
$(Q) "$(CC)" $(CFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
@#echo "AS: $1"
|
||||
$(Q) (wfile=`cygpath -w "$1"`; "$(AS)" $(AFLAGS) $$wfile)
|
||||
$(Q) "$(AS)" $(AFLAGS) ${shell echo $1 | sed -e "s/\//\\/g"}
|
||||
endef
|
||||
|
||||
define ARCHIVE
|
||||
|
|
|
@ -47,7 +47,8 @@ config CAN_EXTID
|
|||
bool "CAN extended IDs"
|
||||
default n
|
||||
---help---
|
||||
Enables support for the 29-bit extended ID. Default Standard 11-bit IDs.
|
||||
Enables support for the 29-bit extended ID. Default Standard 11-bit
|
||||
IDs.
|
||||
|
||||
config CAN_FIFOSIZE
|
||||
int "CAN driver I/O buffer size"
|
||||
|
@ -83,10 +84,10 @@ config PWM_PULSECOUNT
|
|||
bool "PWM Pulse Count Support"
|
||||
default n
|
||||
---help---
|
||||
Some hardware will support generation of a fixed number of pulses. This
|
||||
might be used, for example to support a stepper motor. If the hardware
|
||||
will support a fixed pulse count, then this configuration should be set to
|
||||
enable the capability.
|
||||
Some hardware will support generation of a fixed number of pulses.
|
||||
This might be used, for example to support a stepper motor. If the
|
||||
hardware will support a fixed pulse count, then this configuration
|
||||
should be set to enable the capability.
|
||||
|
||||
endif
|
||||
|
||||
|
@ -147,23 +148,25 @@ config SPI_OWNBUS
|
|||
bool "SPI single device"
|
||||
default n
|
||||
---help---
|
||||
Set if there is only one active device on the SPI bus. No locking or SPI
|
||||
configuration will be performed. It is not necessary for clients to lock,
|
||||
re-configure, etc..
|
||||
Set if there is only one active device on the SPI bus. No locking or
|
||||
SPI configuration will be performed. It is not necessary for clients to
|
||||
lock, re-configure, etc..
|
||||
|
||||
config SPI_EXCHANGE
|
||||
bool "SPI exchange"
|
||||
default y
|
||||
---help---
|
||||
Driver supports a single exchange method (vs a recvblock() and sndblock ()methods).
|
||||
Driver supports a single exchange method (vs a recvblock() and
|
||||
sndblock() methods).
|
||||
|
||||
config SPI_CMDDATA
|
||||
bool "SPI CMD/DATA"
|
||||
default n
|
||||
---help---
|
||||
Devices on the SPI bus require out-of-band support to distinguish command
|
||||
transfers from data transfers. Such devices will often support either 9-bit
|
||||
SPI (yech) or 8-bit SPI and a GPIO output that selects between command and data.
|
||||
Devices on the SPI bus require out-of-band support to distinguish
|
||||
command transfers from data transfers. Such devices will often support
|
||||
either 9-bit SPI (yech) or 8-bit SPI and a GPIO output that selects
|
||||
between command and data.
|
||||
|
||||
endif
|
||||
|
||||
|
@ -173,35 +176,36 @@ menuconfig RTC
|
|||
---help---
|
||||
This selection enables configuration of a real time clock (RTCdriver.
|
||||
See include/nuttx/rtc.h for further watchdog timer driver information.
|
||||
Most RTC drivers are MCU specific and may require other specific settings.
|
||||
Most RTC drivers are MCU specific and may require other specific
|
||||
settings.
|
||||
|
||||
config RTC_DATETIME
|
||||
bool "Date/Time RTC Support"
|
||||
default n
|
||||
depends on RTC
|
||||
---help---
|
||||
There are two general types of RTC: (1) A simple battery backed counter
|
||||
that keeps the time when power is down, and (2) a full date / time RTC the
|
||||
provides the date and time information, often in BCD format. If
|
||||
RTC_DATETIME is selected, it specifies this second kind of RTC. In this
|
||||
case, the RTC is used to "seed" the normal NuttX timer and the NuttX system
|
||||
timer provides for higher resolution time.
|
||||
There are two general types of RTC: (1) A simple battery backed
|
||||
counter that keeps the time when power is down, and (2) a full
|
||||
date / time RTC the provides the date and time information, often in
|
||||
BCD format. If RTC_DATETIME is selected, it specifies this second kind
|
||||
of RTC. In this case, the RTC is used to "seed" the normal NuttX timer
|
||||
and the NuttX system timer provides for higher resolution time.
|
||||
|
||||
config RTC_HIRES
|
||||
bool "Hi-Res RTC Support"
|
||||
default n
|
||||
depends on RTC && !RTC_DATETIME
|
||||
---help---
|
||||
If RTC_DATETIME not selected, then the simple, battery backed counter is
|
||||
used. There are two different implementations of such simple counters
|
||||
based on the time resolution of the counter: The typical RTC keeps time
|
||||
to resolution of 1 second, usually supporting a 32-bit time_t value. In
|
||||
this case, the RTC is used to "seed" the normal NuttX timer and the NuttX
|
||||
timer provides for higherresoution time.
|
||||
If RTC_DATETIME not selected, then the simple, battery backed counter
|
||||
is used. There are two different implementations of such simple
|
||||
counters based on the time resolution of the counter: The typical RTC
|
||||
keeps time to resolution of 1 second, usually supporting a 32-bit
|
||||
time_t value. In this case, the RTC is used to "seed" the normal NuttX
|
||||
timer and the NuttX timer provides for higherresoution time.
|
||||
|
||||
If RTC_HIRES is enabled in the NuttX configuration, then the RTC provides
|
||||
higher resolution time and completely replaces the system timer for purpose
|
||||
of date and time.
|
||||
If RTC_HIRES is enabled in the NuttX configuration, then the RTC
|
||||
provides higher resolution time and completely replaces the system
|
||||
timer for purpose of date and time.
|
||||
|
||||
config RTC_FREQUENCY
|
||||
int "Hi-Res RTC frequency"
|
||||
|
@ -209,8 +213,8 @@ config RTC_FREQUENCY
|
|||
depends on RTC && !RTC_DATETIME && RTC_HIRES
|
||||
---help---
|
||||
If RTC_HIRES is defined, then the frequency of the high resolution RTC
|
||||
must be provided. If RTC_HIRES is not defined, RTC_FREQUENCY is assumed
|
||||
to be one Hz.
|
||||
must be provided. If RTC_HIRES is not defined, RTC_FREQUENCY is
|
||||
assumed to be one Hz.
|
||||
|
||||
config RTC_ALARM
|
||||
bool "RTC Alarm Support"
|
||||
|
@ -224,8 +228,9 @@ menuconfig WATCHDOG
|
|||
bool "Watchdog Timer Support"
|
||||
default n
|
||||
---help---
|
||||
This selection enables building of the "upper-half" watchdog timer driver.
|
||||
See include/nuttx/watchdog.h for further watchdog timer driver information.
|
||||
This selection enables building of the "upper-half" watchdog timer
|
||||
driver. See include/nuttx/watchdog.h for further watchdog timer driver
|
||||
information.
|
||||
|
||||
if WATCHDOG
|
||||
endif
|
||||
|
@ -348,7 +353,8 @@ menuconfig POWER
|
|||
bool "Power Management Support"
|
||||
default n
|
||||
---help---
|
||||
Enable building of power-related devices (battery monitors, chargers, etc).
|
||||
Enable building of power-related devices (battery monitors, chargers,
|
||||
etc).
|
||||
|
||||
if POWER
|
||||
source drivers/power/Kconfig
|
||||
|
@ -386,8 +392,8 @@ menuconfig SERIAL
|
|||
default y
|
||||
---help---
|
||||
Front-end character drivers for chip-specific UARTs. This provide
|
||||
some TTY-like functionality and are commonly used (but not required for)
|
||||
the NuttX system console. See also include/nuttx/serial/serial.h
|
||||
some TTY-like functionality and are commonly used (but not required
|
||||
for) the NuttX system console. See also include/nuttx/serial/serial.h
|
||||
|
||||
if SERIAL
|
||||
source drivers/serial/Kconfig
|
||||
|
|
|
@ -85,15 +85,15 @@ ifeq ($(CONFIG_WATCHDOG),y)
|
|||
endif
|
||||
endif
|
||||
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
|
||||
SRCS = $(ASRCS) $(CSRCS)
|
||||
OBJS = $(AOBJS) $(COBJS)
|
||||
SRCS = $(ASRCS) $(CSRCS)
|
||||
OBJS = $(AOBJS) $(COBJS)
|
||||
|
||||
BIN = libdrivers$(LIBEXT)
|
||||
BIN = libdrivers$(LIBEXT)
|
||||
|
||||
all: $(BIN)
|
||||
all: $(BIN)
|
||||
|
||||
$(AOBJS): %$(OBJEXT): %.S
|
||||
$(call ASSEMBLE, $<, $@)
|
||||
|
@ -101,7 +101,7 @@ $(AOBJS): %$(OBJEXT): %.S
|
|||
$(COBJS): %$(OBJEXT): %.c
|
||||
$(call COMPILE, $<, $@)
|
||||
|
||||
$(BIN): $(OBJS)
|
||||
$(BIN): $(OBJS)
|
||||
$(call ARCHIVE, $@, $(OBJS))
|
||||
|
||||
.depend: Makefile $(SRCS)
|
||||
|
|
|
@ -55,16 +55,34 @@ if "%1"=="" (
|
|||
echo ERROR: Missing compiler name
|
||||
goto :Usage
|
||||
)
|
||||
|
||||
set ccpath=%1
|
||||
shift
|
||||
|
||||
rem Generate the compiler include path directives. Easy since only MinGW is
|
||||
rem supported
|
||||
set compiler=
|
||||
for /F %%i in ("%ccpath%") do set compiler=%%~ni
|
||||
|
||||
if "%1"=="" (
|
||||
echo ERROR: Missing directory paths
|
||||
goto :Usage
|
||||
)
|
||||
|
||||
rem Check for some well known, non-GCC Windows native tools that require
|
||||
rem a special output format as well as special paths
|
||||
|
||||
:GetFormat
|
||||
set fmt=std
|
||||
if "%compiler%"=="ez8cc" goto :SetZdsFormt
|
||||
if "%compiler%"=="zneocc" goto :SetZdsFormt
|
||||
if "%compiler%"=="ez80cc" goto :SetZdsFormt
|
||||
goto :GeneratePaths
|
||||
|
||||
:SetZdsFormt
|
||||
set fmt=zds
|
||||
|
||||
rem Generate the compiler include path directives.
|
||||
|
||||
:GeneratePaths
|
||||
set response=
|
||||
|
||||
:DirLoop
|
||||
|
@ -78,11 +96,24 @@ if not exist %1 (
|
|||
goto :Usage
|
||||
)
|
||||
|
||||
if "%fmt%"=="zds" goto :GenerateZdsPath
|
||||
|
||||
if "%response"=="" (
|
||||
set response=-I "%1"
|
||||
) else (
|
||||
set response=%response% -I "%1"
|
||||
)
|
||||
goto :EndOfDirLoop
|
||||
|
||||
:GenerateZdsPath
|
||||
|
||||
if "%response"=="" (
|
||||
set response=-usrinc:%1
|
||||
) else (
|
||||
set response=%response%;%1
|
||||
)
|
||||
|
||||
:EndOfDirLoop
|
||||
shift
|
||||
goto :DirLoop
|
||||
|
||||
|
|
Loading…
Reference in New Issue