Fixes for z80 compilation with SDCC toolchain. There are still a few header file and linker issues

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5149 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-09-13 22:04:47 +00:00
parent 3e7c5c1b43
commit 3fcb8d9d6c
35 changed files with 282 additions and 165 deletions

View File

@ -94,7 +94,7 @@ $(AOBJS) $(HEAD_OBJ): %$(OBJEXT): %$(ASMEXT)
$(COBJS): %$(OBJEXT): %.c $(COBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@) $(call COMPILE, $<, $@)
# This is a kludge to work around some conflicting symbols in libsdcc.liXqueb # This is a kludge to work around some conflicting symbols in libsdcc.lib
$(SDCCLIBDIR)/myz80.lib: $(SDCCLIBDIR)/$(SDCCLIB) $(SDCCLIBDIR)/myz80.lib: $(SDCCLIBDIR)/$(SDCCLIB)
@cat $(SDCCLIBDIR)/$(SDCCLIB) | \ @cat $(SDCCLIBDIR)/$(SDCCLIB) | \

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* arch/z80/src/z80/z80_io.c * arch/z80/src/z80/z80_io.c
* *
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -44,9 +44,23 @@
#include "up_internal.h" #include "up_internal.h"
/**************************************************************************** /****************************************************************************
* Private Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
#undef ASM
#undef ENDASM
#undef NAKED
#ifdef CONFIG_SDCC_OLD
# define ASM _asm
# define ENDASM _endasm
# define NAKED
#else
# define ASM __asm
# define ENDASM __endasm
# define NAKED __naked
#endif
/**************************************************************************** /****************************************************************************
* Private Data * Private Data
****************************************************************************/ ****************************************************************************/
@ -69,11 +83,11 @@
void outp(char p, char c) void outp(char p, char c)
{ {
_asm ASM
ld c, 4(ix) ; port ld c, 4(ix) ; port
ld a, 5(ix) ; value ld a, 5(ix) ; value
out (c), a out (c), a
_endasm; ENDASM;
} }
@ -85,10 +99,10 @@ void outp(char p, char c)
* *
****************************************************************************/ ****************************************************************************/
char inp(char p) char inp(char p) NAKED
{ {
_asm ASM
ld c, 4(ix) ;port ld c, 4(ix) ;port
in l, (c) in l, (c)
_endasm; ENDASM;
} }

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* arch/z80/src/z80/z80_irq.c * arch/z80/src/z80/z80_irq.c
* *
* Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -48,6 +48,14 @@
* Private Definitions * Private Definitions
****************************************************************************/ ****************************************************************************/
#ifdef CONFIG_SDCC_OLD
# define ASM _asm
# define ENDASM _endasm
#else
# define ASM __asm
# define ENDASM __endasm
#endif
/**************************************************************************** /****************************************************************************
* Public Data * Public Data
****************************************************************************/ ****************************************************************************/
@ -80,13 +88,13 @@ volatile chipreg_t *current_regs;
irqstate_t irqsave(void) __naked irqstate_t irqsave(void) __naked
{ {
_asm ASM
ld a, i ; AF Parity bit holds interrupt state ld a, i ; AF Parity bit holds interrupt state
di ; Interrupts are disabled di ; Interrupts are disabled
push af ; Return AF in HL push af ; Return AF in HL
pop hl ; pop hl ;
ret ; ret ;
_endasm; ENDASM;
} }
/**************************************************************************** /****************************************************************************
@ -99,7 +107,7 @@ irqstate_t irqsave(void) __naked
void irqrestore(irqstate_t flags) __naked void irqrestore(irqstate_t flags) __naked
{ {
_asm ASM
di ; Assume disabled di ; Assume disabled
pop hl ; HL = return address pop hl ; HL = return address
pop af ; AF Parity bit holds interrupt state pop af ; AF Parity bit holds interrupt state
@ -109,5 +117,5 @@ statedisable:
push af ; Restore stack push af ; Restore stack
push hl ; push hl ;
ret ; and return ret ; and return
_endasm; ENDASM;
} }

View File

@ -50,11 +50,10 @@ Configuring NuttX
This configuration performs a simple, minimal OS test using This configuration performs a simple, minimal OS test using
examples/ostest. This can be configurated as follows: examples/ostest. This can be configurated as follows:
cd tools cd tools
./configure.sh xtrs/ostest ./configure.sh xtrs/ostest
cd - cd -
. ./setenv.sh . ./setenv.sh
nsh nsh
This configuration file builds NSH (examples/nsh). This This configuration file builds NSH (examples/nsh). This
@ -63,10 +62,10 @@ Configuring NuttX
This configuration can be selected by: This configuration can be selected by:
cd tools cd tools
./configure.sh xtrs/nsh ./configure.sh xtrs/nsh
cd - cd -
. ./setenv.sh . ./setenv.sh
pashello pashello
Configures to use examples/pashello for execution from FLASH Configures to use examples/pashello for execution from FLASH
@ -77,10 +76,10 @@ Configuring NuttX
This configuration can be selected by: This configuration can be selected by:
cd tools cd tools
./configure.sh xtrs/pashello ./configure.sh xtrs/pashello
cd - cd -
. ./setenv.sh . ./setenv.sh
Building the SDCC toolchain Building the SDCC toolchain
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -122,11 +121,11 @@ has some compatibilty problems with the older SDCC compiler. For one, you
will need to change the Z80 assember name and options in the Make.defs will need to change the Z80 assember name and options in the Make.defs
files as follows: files as follows:
-AS = as-z80 -AS = as-z80
+AS = sdasz80 +AS = sdasz80
- @$(AS) $(ASFLAGS) $2 $1 - @$(AS) $(ASFLAGS) $2 $1
+ $(AS) $(ASFLAGS) $1 + $(AS) $(ASFLAGS) $1
For another, I had other problems building with that 20091106 that look For another, I had other problems building with that 20091106 that look
like compiler bugs. If you are using UBUNTU 9.10, you may have to either like compiler bugs. If you are using UBUNTU 9.10, you may have to either
@ -134,6 +133,9 @@ like compiler bugs. If you are using UBUNTU 9.10, you may have to either
the older stable releases, or (2) wait for the next stable SDCC release the older stable releases, or (2) wait for the next stable SDCC release
after 2.9.0. after 2.9.0.
See below: If you wish to continue using the older SDCC toolchain, you
must now also add CONFIG_SDCC_OLD=y to your configuration file.
Newer SDCC Versions Newer SDCC Versions
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
@ -154,4 +156,14 @@ This is the text of bug 3468951 reported on the SourceForge website:
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
section from the README can be removed. section from the README can be removed.
These changes have not yet been incorporated or verified. These changes *have* been incorporated but only partially verified. In order
to get a successful compilation, I had to copy stdarg.h out of the SDCC source
(at sdcc/device/include/stdarg.h) to include/nuttx/stdarg.h.
There are also some library related issues when you get to the final build
that I have not looked into yet.
If you want to back out these change and continue to use the older toolchain
in your build, simpy define the following in your configuration file:
CONFIG_SDCC_OLD=y

View File

@ -1,5 +1,5 @@
/************************************************************ /************************************************************
* board/board.h * configs/xtrs/include/board.h
* *
* Copyright (C) 2008 Gregory Nutt. All rights reserved. * Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/trs80-m3.h * configs/xtrs/include/trs80-m3.h
* *
* Copyright (C) 2008 Jacques Pelletier. All rights reserved. * Copyright (C) 2008 Jacques Pelletier. All rights reserved.
* Author: Jacques Pelletier * Author: Jacques Pelletier

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# configs/xtrs/Make.defs # configs/xtrs/nsh/Make.defs
# #
# Copyright (C) 2007, 2008, 2012 Gregory Nutt. All rights reserved. # Copyright (C) 2007, 2008, 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# sim/xtrs/nsh/defconfig # configs/xtrs/nsh/defconfig
# #
# Copyright (C) 2007-2010, 2012 Gregory Nutt. All rights reserved. # Copyright (C) 2007-2010, 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# xtrs/setenv.sh # configs/xtrs/nsh/setenv.sh
# #
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# configs/xtrs/Make.defs # configs/xtrs/ostest/Make.defs
# #
# Copyright (C) 2008, 2012 Gregory Nutt. All rights reserved. # Copyright (C) 2008, 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# xtrs/setenv.sh # configs/xtrs/ostest/setenv.sh
# #
# Copyright (C) 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# configs/xtrs/Make.defs # configs/xtrs/pashello/Make.defs
# #
# Copyright (C) 2008, 2012 Gregory Nutt. All rights reserved. # Copyright (C) 2008, 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# xtrs/setenv.sh # configs/xtrs/pashello/setenv.sh
# #
# Copyright (C) 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/xtr_irq.c * configs/xtrs/src/xtr_irq.c
* *
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/******************************************************************************** /********************************************************************************
* board/xtr_lowputc.c * configs/xtrs/src//xtr_lowputc.c
* *
* Copyright (C) 2008 Jacques Pelletier. All rights reserved. * Copyright (C) 2008 Jacques Pelletier. All rights reserved.
* Author: Jacques Pelletier * Author: Jacques Pelletier

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/xtr_serial.c * config/xtrs/src/xtr_serial.c
* *
* Copyright (C) 2008 Jacques Pelletier. All rights reserved. * Copyright (C) 2008 Jacques Pelletier. All rights reserved.
* Author: Jacques Pelletier * Author: Jacques Pelletier

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/xtr_timerisr.c * configs/xtrs/src/xtr_timerisr.c
* *
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -23,11 +23,10 @@ Configuring NuttX
This configuration performs a simple, minimal OS test using This configuration performs a simple, minimal OS test using
examples/ostest. This can be configurated as follows: examples/ostest. This can be configurated as follows:
cd tools cd tools
./configure.sh z80sim/ostest ./configure.sh z80sim/ostest
cd - cd -
. ./setenv.sh . ./setenv.sh
nsh nsh
This configuration file builds NSH (examples/nsh). This This configuration file builds NSH (examples/nsh). This
@ -36,10 +35,10 @@ Configuring NuttX
This configuration can be selected by: This configuration can be selected by:
cd tools cd tools
./configure.sh z80sim/nsh ./configure.sh z80sim/nsh
cd - cd -
. ./setenv.sh . ./setenv.sh
pashello pashello
Configures to use examples/pashello for execution from FLASH Configures to use examples/pashello for execution from FLASH
@ -50,10 +49,10 @@ Configuring NuttX
This configuration can be selected by: This configuration can be selected by:
cd tools cd tools
./configure.sh z80sim/pashello ./configure.sh z80sim/pashello
cd - cd -
. ./setenv.sh . ./setenv.sh
Building the SDCC toolchain Building the SDCC toolchain
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -95,11 +94,11 @@ has some compatibilty problems with the older SDCC compiler. For one, you
will need to change the Z80 assember name and options in the Make.defs will need to change the Z80 assember name and options in the Make.defs
files as follows: files as follows:
-AS = as-z80 -AS = as-z80
+AS = sdasz80 +AS = sdasz80
- @$(AS) $(ASFLAGS) $2 $1 - @$(AS) $(ASFLAGS) $2 $1
+ $(AS) $(ASFLAGS) $1 + $(AS) $(ASFLAGS) $1
For another, I had other problems building with that 20091106 that look For another, I had other problems building with that 20091106 that look
like compiler bugs. If you are using UBUNTU 9.10, you may have to either like compiler bugs. If you are using UBUNTU 9.10, you may have to either
@ -107,6 +106,9 @@ like compiler bugs. If you are using UBUNTU 9.10, you may have to either
the older stable releases, or (2) wait for the next stable SDCC release the older stable releases, or (2) wait for the next stable SDCC release
after 2.9.0. after 2.9.0.
See below: If you wish to continue using the older SDCC toolchain, you
must now also add CONFIG_SDCC_OLD=y to your configuration file.
Newer SDCC Versions Newer SDCC Versions
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
@ -127,4 +129,14 @@ This is the text of bug 3468951 reported on the SourceForge website:
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
section from the README can be removed. section from the README can be removed.
These changes have not yet been incorporated or verified. These changes *have* been incorporated but only partially verified. In order
to get a successful compilation, I had to copy stdarg.h out of the SDCC source
(at sdcc/device/include/stdarg.h) to include/nuttx/stdarg.h.
There are also some library related issues when you get to the final build
that I have not looked into yet.
If you want to back out these change and continue to use the older toolchain
in your build, simpy define the following in your configuration file:
CONFIG_SDCC_OLD=y

View File

@ -1,5 +1,5 @@
/************************************************************ /************************************************************
* board/board.h * configs/z80sim/include/board.h
* *
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
############################################################################ ############################################################################
# sim/z80sim/nsh/defconfig # configs/z80sim/nsh/defconfig
# #
# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# z80sim/setenv.sh # configs/z80sim/nsh/setenv.sh
# #
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# z80sim/setenv.sh # configs/z80sim/ostest/setenv.sh
# #
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -36,27 +36,38 @@
include ${TOPDIR}/.config include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk include ${TOPDIR}/tools/Config.mk
ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") CROSSDEV =
CC = sdcc
CPP = sdcpp
AR = sdcclib -a
ifeq ($(CONFIG_SDCC_OLD),y)
LD = link-z80
AS = as-z80
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent
else
LD = sdldz80
AS = sdasz80
ARCHCPUFLAGS = -mz80
endif
ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
ARCHOPTIMIZATION = --debug ARCHOPTIMIZATION = --debug
else else
ARCHOPTIMIZATION = ARCHOPTIMIZATION =
endif endif
ARCHCPUFLAGS = -mz80 --stack-auto --int-long-reent --float-reent ARCHPICFLAGS =
ARCHPICFLAGS = ARCHWARNINGS =
ARCHWARNINGS =
ARCHDEFINES = ARCHDEFINES =
ARCHINCLUDES = -I. -I$(TOPDIR)/include ARCHINCLUDES = -I. -I$(TOPDIR)/include
CROSSDEV =
CC = sdcc
CPP = sdcpp
LD = link-z80
AS = as-z80
AR = sdcclib -a
CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \
$(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
ASFLAGS = -x -a -l -o -s ASFLAGS = -x -a -l -o -s

View File

@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# z80sim/setenv.sh # configs/z80sim/pashello/setenv.sh
# #
# Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. # Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/z80_irq.c * configs/z80sim/src/z80_irq.c
* *
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/******************************************************************************** /********************************************************************************
* board/z80_lowputc.c * configs/z80sim/src//z80_lowputc.c
* *
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/z80_serial.c * configs/z80sim/src/z80_serial.c
* *
* Copyright (C) 2007-2009, 2012 Gregory Nutt. All rights reserved. * Copyright (C) 2007-2009, 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -1,5 +1,5 @@
/**************************************************************************** /****************************************************************************
* board/z80_timerisr.c * configs/z80sim/src/z80_timerisr.c
* *
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>

View File

@ -39,8 +39,6 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#ifdef CONFIG_ARCH_LOWGETC
#include <stdio.h> #include <stdio.h>
#include <assert.h> #include <assert.h>
#include <errno.h> #include <errno.h>
@ -49,6 +47,8 @@
#include "lib_internal.h" #include "lib_internal.h"
#ifdef CONFIG_ARCH_LOWGETC
/**************************************************************************** /****************************************************************************
* Private Functions * Private Functions
****************************************************************************/ ****************************************************************************/

View File

@ -91,13 +91,13 @@ static const char spaces[] = " \t\n\r\f\v";
* *
****************************************************************************/ ****************************************************************************/
int sscanf(const char *buf, const char *fmt, ...) int sscanf(FAR const char *buf, FAR const char *fmt, ...)
{ {
va_list ap; va_list ap;
int count; int count;
va_start(ap, fmt); va_start(ap, fmt);
count = vsscanf((char*)buf, fmt, ap); count = vsscanf((FAR char*)buf, fmt, ap);
va_end(ap); va_end(ap);
return count; return count;
} }
@ -109,15 +109,15 @@ int sscanf(const char *buf, const char *fmt, ...)
* ANSI standard vsscanf implementation. * ANSI standard vsscanf implementation.
* *
****************************************************************************/ ****************************************************************************/
int vsscanf(char *buf, const char *s, va_list ap) int vsscanf(FAR char *buf, FAR const char *s, va_list ap)
{ {
int count; int count;
int noassign; int noassign;
int width; int width;
int base = 10; int base = 10;
int lflag; int lflag;
char *tv; FAR char *tv;
const char *tc; FAR const char *tc;
char tmp[MAXLN]; char tmp[MAXLN];
lvdbg("vsscanf: buf=\"%s\" fmt=\"%s\"\n", buf, s); lvdbg("vsscanf: buf=\"%s\" fmt=\"%s\"\n", buf, s);

View File

@ -36,13 +36,17 @@
# Add the string C files to the build # Add the string C files to the build
CSRCS += lib_checkbase.c lib_isbasedigit.c lib_memset.c lib_memchr.c \ CSRCS += lib_checkbase.c lib_isbasedigit.c lib_memset.c lib_memchr.c \
lib_memccpy.c lib_memcpy.c lib_memcmp.c lib_memmove.c lib_skipspace.c \ lib_memccpy.c lib_memcpy.c lib_memcmp.c lib_memmove.c lib_skipspace.c \
lib_strcasecmp.c lib_strcat.c lib_strchr.c lib_strcpy.c lib_strcmp.c \ lib_strcasecmp.c lib_strcat.c lib_strchr.c lib_strcpy.c lib_strcmp.c \
lib_strcspn.c lib_strdup.c lib_strerror.c lib_strlen.c lib_strnlen.c \ lib_strcspn.c lib_strdup.c lib_strerror.c lib_strlen.c lib_strnlen.c \
lib_strncasecmp.c lib_strncat.c lib_strncmp.c lib_strncpy.c \ lib_strncasecmp.c lib_strncat.c lib_strncmp.c lib_strncpy.c \
lib_strndup.c lib_strcasestr.c lib_strpbrk.c lib_strrchr.c\ lib_strndup.c lib_strcasestr.c lib_strpbrk.c lib_strrchr.c\
lib_strspn.c lib_strstr.c lib_strtok.c lib_strtokr.c lib_strtol.c \ lib_strspn.c lib_strstr.c lib_strtok.c lib_strtokr.c lib_strtol.c \
lib_strtoll.c lib_strtoul.c lib_strtoull.c lib_strtod.c lib_strtoll.c lib_strtoul.c lib_strtoull.c
ifeq ($(CONFIG_LIBC_FLOATINGPOINT),y)
CSRCS += lib_strtod.c
endif
# Add the string directory to the build # Add the string directory to the build

View File

@ -1090,7 +1090,8 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
* 2) if read-ahead buffering is enabled (CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0) * 2) if read-ahead buffering is enabled (CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0)
* and delay logic is disabled (CONFIG_NET_TCP_RECVDELAY == 0), then we * and delay logic is disabled (CONFIG_NET_TCP_RECVDELAY == 0), then we
* not want to wait if we already obtained some data from the read-ahead * not want to wait if we already obtained some data from the read-ahead
* buffer. In that case, return now with what we have. * buffer. In that case, return now with what we have (don't want for more
* because there may be no timeout).
*/ */
#if CONFIG_NET_TCP_RECVDELAY == 0 && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0 #if CONFIG_NET_TCP_RECVDELAY == 0 && CONFIG_NET_NTCP_READAHEAD_BUFFERS > 0

View File

@ -91,7 +91,7 @@ int prctl(int option, ...)
{ {
/* Get the prctl arguments */ /* Get the prctl arguments */
char *name = va_arg(ap, char *); FAR char *name = va_arg(ap, FAR char *);
int pid = va_arg(ap, int); int pid = va_arg(ap, int);
FAR _TCB *tcb; FAR _TCB *tcb;