From d681635b85e4a498dafd8822af19e0d5cd7f8f2f Mon Sep 17 00:00:00 2001 From: patacongo Date: Tue, 26 Feb 2013 16:28:30 +0000 Subject: Add a THTTPD configuratin for zkit-arm-1769 git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5675 42af7a65-404d-4744-a932-0658087f49c3 --- apps/examples/thttpd/Kconfig | 16 + apps/examples/thttpd/content/tasks/tasks.c | 49 +- apps/netutils/thttpd/Kconfig | 147 +++-- apps/netutils/thttpd/config.h | 6 +- apps/netutils/thttpd/libhttpd.c | 5 +- apps/netutils/thttpd/thttpd_cgi.c | 2 +- nuttx/ChangeLog | 3 +- nuttx/binfmt/libnxflat/gnu-nxflat-gotoff.ld | 4 +- nuttx/configs/lpcxpresso-lpc1768/ostest/Make.defs | 9 +- nuttx/configs/zkit-arm-1769/hello/Make.defs | 79 +-- nuttx/configs/zkit-arm-1769/src/Makefile | 13 +- nuttx/configs/zkit-arm-1769/src/up_boot.c | 1 - nuttx/configs/zkit-arm-1769/src/up_leds.c | 2 +- nuttx/configs/zkit-arm-1769/src/up_ssp.c | 8 +- nuttx/configs/zkit-arm-1769/thttpd/Make.defs | 117 ++++ nuttx/configs/zkit-arm-1769/thttpd/defconfig | 682 ++++++++++++++++++++++ nuttx/configs/zkit-arm-1769/thttpd/setenv.sh | 72 +++ nuttx/sched/pthread_internal.h | 3 +- 18 files changed, 1068 insertions(+), 150 deletions(-) create mode 100644 nuttx/configs/zkit-arm-1769/thttpd/Make.defs create mode 100644 nuttx/configs/zkit-arm-1769/thttpd/defconfig create mode 100644 nuttx/configs/zkit-arm-1769/thttpd/setenv.sh diff --git a/apps/examples/thttpd/Kconfig b/apps/examples/thttpd/Kconfig index d5802f531..42ec1381f 100644 --- a/apps/examples/thttpd/Kconfig +++ b/apps/examples/thttpd/Kconfig @@ -10,4 +10,20 @@ config EXAMPLES_THTTPD Enable the THTTPD web server example if EXAMPLES_THTTPD + +config EXAMPLES_THTTPD_NOMAC + bool "Use Canned MAC Address" + default n + ---help--- + May be defined to use a hard-coded, software assigned MAC of + 00:0e:de:ad:be:ef + +config EXAMPLES_THTTPD_DRIPADDR + hex "Default Router IP address (Gateway)" + default 0x0a000001 + +config EXAMPLES_THTTPD_NETMASK + hex "Network Mask" + default 0xffffff00 + endif diff --git a/apps/examples/thttpd/content/tasks/tasks.c b/apps/examples/thttpd/content/tasks/tasks.c index 131cbd60f..393ef5a23 100644 --- a/apps/examples/thttpd/content/tasks/tasks.c +++ b/apps/examples/thttpd/content/tasks/tasks.c @@ -107,7 +107,7 @@ static const char *g_ttypenames[4] = { int i; - /* Show task status */ + /* Show task/thread status */ printf("%5d %3d %4s %7s%c%c %8s ", tcb->pid, tcb->sched_priority, @@ -117,26 +117,49 @@ static const char *g_ttypenames[4] = tcb->flags & TCB_FLAG_CANCEL_PENDING ? 'P' : ' ', g_statenames[tcb->task_state]); - /* Show task name and arguments */ + /* Is this a task or a thread? */ - printf("%s(", tcb->argv[0]); +#ifndef CONFIG_DISABLE_PTHREAD + if ((tcb->flags & TCB_FLAG_TTYPE_MASK) == TCB_FLAG_TTYPE_PTHREAD) + { + FAR struct pthread_tcb_s *ptcb = (FAR struct pthread_tcb_s *)tcb; - /* Special case 1st argument (no comma) */ + /* It is a pthread. Show any name assigned to the pthread via prtcl() along + * with the startup value. + */ - if (tcb->argv[1]) - { - printf("%p", tcb->argv[1]); +#if CONFIG_TASK_NAME_SIZE > 0 + printf("%s(%p)\n", tcb->name, ptcb->arg); +#else + printf("pthread(%p)\n", ptcb->arg); +#endif } + else +#endif + { + FAR struct task_tcb_s *ttcb = (FAR struct task_tcb_s *)tcb; + + /* Show task name and arguments */ - /* Then any additional arguments */ + printf("%s(", ttcb->argv[0]); + + /* Special case 1st argument (no comma) */ + + if (ttcb->argv[1]) + { + printf("%p", ttcb->argv[1]); + } + + /* Then any additional arguments */ #if CONFIG_MAX_TASK_ARGS > 2 - for (i = 2; i <= CONFIG_MAX_TASK_ARGS && tcb->argv[i]; i++) - { - printf(", %p", tcb->argv[i]); - } + for (i = 2; i <= CONFIG_MAX_TASK_ARGS && ttcb->argv[i]; i++) + { + printf(", %p", ttcb->argv[i]); + } #endif - printf(")\n"); + printf(")\n"); + } } /**************************************************************************** diff --git a/apps/netutils/thttpd/Kconfig b/apps/netutils/thttpd/Kconfig index aa3751839..d181ec886 100644 --- a/apps/netutils/thttpd/Kconfig +++ b/apps/netutils/thttpd/Kconfig @@ -133,16 +133,26 @@ config THTTPD_INDEX_NAMES A list of index filenames to check. The files are searched for in this order. Default: "\"index.html\", \"index.htm\", \"index.cgi\"" +config THTTPD_USE_AUTH_FILE + bool "Use authentication file" + default n + ---help--- + Select to define an authentication file that thttpd will check in + the local directory before every fetch. If the file exists then + authentication is done, otherwise the fetch proceeds as usual. If + you leave this undefined then thttpd will not implement + authentication at all and will not check for auth files, which saves + a bit of CPU time. + config AUTH_FILE string "Authorization file" -# default ".htpasswd" + default ".htpasswd" + depends on THTTPD_USE_AUTH_FILE ---help--- - The file to use for authentication. If this is defined then thttpd - checks for this file in the local directory before every fetch. If - the file exists then authentication is done, otherwise the fetch proceeds - as usual. If you leave this undefined then thttpd will not implement - authentication at all and will not check for auth files, which saves a - bit of CPU time. A typical value is ".htpasswd" + The file to use for authentication. thttpd checks for this file in + the local directory before every fetch. If the file exists then + authentication is done, otherwise the fetch proceeds as usual. A + typical value is ".htpasswd" config THTTPD_LISTEN_BACKLOG int "Listen backlog" @@ -185,56 +195,117 @@ config THTTPD_IDLE_SEND_LIMIT_SEC How many seconds before an idle connection gets closed. Default: 300 -config THTTPD_TILDE_MAP1 - string "Tilde mapping" +choice + prompt "Tilde Mapping" + default THTTPD_TILDE_MAP_NONE ---help--- - Tilde mapping. + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. - Many URLs use ~username to indicate a user's home directory. thttpd - provides two options for mapping this construct to an actual filename. + 1) Map ~username to /username. This is the recommended + choice. Each user gets a subdirectory in the main web tree, and + the tilde construct points there. + + The prefix could be something like "users", or it could be empty. - 1) Map ~username to /username. This is the recommended choice. - Each user gets a subdirectory in the main web tree, and the tilde - construct points there. The prefix could be something like "users", - or it could be empty. 2) Map ~username to /. The postfix would be - the name of a subdirectory off of the user's actual home dir, - something like "public_html". + the name of a subdirectory off of the user's actual home dir, + something like "public_html". - You can also leave both options undefined, and thttpd will not do - anything special about tildes. Enabling both options is an error. - Typical values, if they're defined, are "users" for - config THTTPD_TILDE_MAP1 and "public_html" for THTTPD_TILDE_MAP2. + 3) Niether. You can also leave both options undefined, and thttpd + will not do anything special about tildes. Enabling both options + is an error. -config THTTPD_TILDE_MAP2 - string "Tilde mapping" + Typical values, if they're defined, are "users" for THTTPD_TILDE_MAP1 + and "public_html" for THTTPD_TILDE_MAP2. + +config THTTPD_USE_TILDE_MAP1 + bool "Tilde mapping 1" ---help--- - Tilde mapping. + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. Choose this option for the first mapping: - Many URLs use ~username to indicate a user's home directory. thttpd - provides two options for mapping this construct to an actual filename. + 1) Map ~username to /username. This is the recommended + choice. Each user gets a subdirectory in the main web tree, and + the tilde construct points there. + + The prefix could be something like "users", or it could be empty. + +config THTTPD_USE_TILDE_MAP2 + bool "Tilde mapping 2" + ---help--- + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. Choose this option for the second mapping: - 1) Map ~username to /username. This is the recommended choice. - Each user gets a subdirectory in the main web tree, and the tilde - construct points there. The prefix could be something like "users", - or it could be empty. 2) Map ~username to /. The postfix would be - the name of a subdirectory off of the user's actual home dir, - something like "public_html". + the name of a subdirectory off of the user's actual home dir, + something like "public_html". - You can also leave both options undefined, and thttpd will not do - anything special about tildes. Enabling both options is an error. - Typical values, if they're defined, are "users" for - config THTTPD_TILDE_MAP1 and "public_html" for THTTPD_TILDE_MAP2. + The typical value THTTPD_TILDE_MAP2 is "public_html". + +config THTTPD_TILDE_MAP_NONE + bool "No tilde mapping" + ---help--- + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. Choose this option to omit tilde mapping: thttpd + will not do anything special about tildes. + +endchoice + +config THTTPD_TILDE_MAP1 + string "Tilde mapping 1" + default "user" + depends on THTTPD_USE_TILDE_MAP1 + ---help--- + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. Choose this option defines the string + for the first mapping: + + 1) Map ~username to /username. This is the recommended + choice. Each user gets a subdirectory in the main web tree, and + the tilde construct points there. + + The prefix could be something like "users", or it could be empty. + +config THTTPD_TILDE_MAP2 + string "Tilde mapping 2" + default "public_html" + depends on THTTPD_USE_TILDE_MAP2 + ---help--- + Tilde mapping. Many URLs use ~username to indicate a user's home + directory. thttpd provides two options for mapping this construct to + an actual filename. Choose this option defines the string + for the second mapping: + + 2) Map ~username to /. The postfix would be + the name of a subdirectory off of the user's actual home dir, + something like "public_html". + + The typical value THTTPD_TILDE_MAP2 is "public_html". config THTTPD_GENERATE_INDICES bool "Generate name indices" default n ---help--- +config THTTPD_USE_URLPATTERN + bool "Use URL pattern" + default n + ---help--- + Select to define a URL pattern that will be used to match and verify + referrers. + config THTTPD_URLPATTERN string "URL pattern" + default "" + depends on THTTPD_USE_URLPATTERN ---help--- - If defined, then it will be used to match and verify referrers. + This string defines the UARL pattern that will be used to match and + verify referrers. endif diff --git a/apps/netutils/thttpd/config.h b/apps/netutils/thttpd/config.h index d238fabd8..32908cc16 100644 --- a/apps/netutils/thttpd/config.h +++ b/apps/netutils/thttpd/config.h @@ -158,11 +158,11 @@ # endif # ifndef CONFIG_THTTPD_CGIINBUFFERSIZE -# define CONFIG_THTTPD_CGIINBUFFERSIZE 512 /* Size of buffer to interpose input */ +# define CONFIG_THTTPD_CGIINBUFFERSIZE 512 /* Size of buffer to interpose input */ # endif # ifndef CONFIG_THTTPD_CGIOUTBUFFERSIZE -# define CONFIG_THTTPD_CGIOUTBUFFERSIZE 512 /* Size of buffer to interpose output */ +# define CONFIG_THTTPD_CGIOUTBUFFERSIZE 512 /* Size of buffer to interpose output */ # endif # if CONFIG_THTTPD_IOBUFFERSIZE > 65535 @@ -236,7 +236,7 @@ */ # if defined(CONFIG_THTTPD_TILDE_MAP1) && defined(CONFIG_THTTPD_TILDE_MAP2) -# error "Both CONFIG_THTTPD_TILDE_MAP1 andCONFIG_THTTPD_TILDE_MAP2 are defined" +# error "Both CONFIG_THTTPD_TILDE_MAP1 and CONFIG_THTTPD_TILDE_MAP2 are defined" # endif /* If CONFIG_THTTPD_URLPATTERN is defined, then it will be used to match and verify diff --git a/apps/netutils/thttpd/libhttpd.c b/apps/netutils/thttpd/libhttpd.c index 9bb4e242f..34f829a28 100644 --- a/apps/netutils/thttpd/libhttpd.c +++ b/apps/netutils/thttpd/libhttpd.c @@ -2,7 +2,7 @@ * netutils/thttpd/libhttpd.c * HTTP Protocol Library * - * Copyright (C) 2009, 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2009, 2011, 2013 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Derived from the file of the same name in the original THTTPD package: @@ -1913,8 +1913,9 @@ static int check_referer(httpd_conn *hc) /* Are we doing referer checking at all? */ #ifdef CONFIG_THTTPD_URLPATTERN - int r; char *cp; + int r; + int child; child = really_check_referer(hc); diff --git a/apps/netutils/thttpd/thttpd_cgi.c b/apps/netutils/thttpd/thttpd_cgi.c index 32aae5526..9e63b25b4 100644 --- a/apps/netutils/thttpd/thttpd_cgi.c +++ b/apps/netutils/thttpd/thttpd_cgi.c @@ -856,7 +856,7 @@ static int cgi_child(int argc, char **argv) /* Run the CGI program. */ nllvdbg("Starting CGI: %s\n", hc->expnfilename); - child = exec(hc->expnfilename, (FAR const char **)argp, g_thttpdsymtab, g_thttpdnsymbols); + child = exec(hc->expnfilename, (FAR char * const *)argp, g_thttpdsymtab, g_thttpdnsymbols); if (child < 0) { /* Something went wrong. */ diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 605c0a67a..c34355364 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -4208,4 +4208,5 @@ Kit, ZKIT-ARM-1769. * configs/zkit-arm-1769/hello: Add a "Hello, World!" configuration for the KBIT-ARM-1769 board. - + * configs/zkit-arm-1769/thttpd: Add a THTTPD configuration for the + KBIT-ARM-1769 board. diff --git a/nuttx/binfmt/libnxflat/gnu-nxflat-gotoff.ld b/nuttx/binfmt/libnxflat/gnu-nxflat-gotoff.ld index 47debd663..3e7057be8 100644 --- a/nuttx/binfmt/libnxflat/gnu-nxflat-gotoff.ld +++ b/nuttx/binfmt/libnxflat/gnu-nxflat-gotoff.ld @@ -107,8 +107,8 @@ SECTIONS .data 0x00000000 : { - /* In this model, .rodata is access using PC-relative addressing - * and, hence, must also reside in the .text section. + /* In this model, .rodata is access using GOT-relative addressing + * and, hence, must also reside in the .data section. */ __data_start = . ; diff --git a/nuttx/configs/lpcxpresso-lpc1768/ostest/Make.defs b/nuttx/configs/lpcxpresso-lpc1768/ostest/Make.defs index 3c977c787..49c16197b 100644 --- a/nuttx/configs/lpcxpresso-lpc1768/ostest/Make.defs +++ b/nuttx/configs/lpcxpresso-lpc1768/ostest/Make.defs @@ -47,7 +47,7 @@ ifeq ($(WINTOOL),y) ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}" MAXOPTIMIZATION = -O2 else - # Linux/Cygwin-native toolchain + # Linux/Cygwin-native toolchain MKDEP = $(TOPDIR)/tools/mkdeps.sh ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx @@ -96,14 +96,17 @@ EXEEXT = ifneq ($(CROSSDEV),arm-nuttx-elf-) LDFLAGS += -nostartfiles -nodefaultlibs +else +ifneq ($(CROSSDEV),arm-nuttx-eabi-) + LDFLAGS += -nostartfiles -nodefaultlibs +endif + endif ifeq ($(CONFIG_DEBUG_SYMBOLS),y) LDFLAGS += -g endif - HOSTCC = gcc HOSTINCLUDES = -I. HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe HOSTLDFLAGS = - diff --git a/nuttx/configs/zkit-arm-1769/hello/Make.defs b/nuttx/configs/zkit-arm-1769/hello/Make.defs index dbea837ad..4f3960e5b 100644 --- a/nuttx/configs/zkit-arm-1769/hello/Make.defs +++ b/nuttx/configs/zkit-arm-1769/hello/Make.defs @@ -40,63 +40,25 @@ include ${TOPDIR}/.config include ${TOPDIR}/tools/Config.mk - -# Setup for the selected toolchain - -ifeq ($(CONFIG_LPC17_CODESOURCERYW),y) - # CodeSourcery under Windows - CROSSDEV = arm-none-eabi- - WINTOOL = y - ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -endif -ifeq ($(CONFIG_LPC17_CODESOURCERYL),y) - # CodeSourcery under Linux - CROSSDEV = arm-none-eabi- - ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft - MAXOPTIMIZATION = -O2 -endif -ifeq ($(CONFIG_LPC17_DEVKITARM),y) - # devkitARM under Windows - CROSSDEV = arm-eabi- - WINTOOL = y - ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -endif -ifeq ($(CONFIG_LPC17_BUILDROOT),y) - # NuttX buildroot under Linux or Cygwin - CROSSDEV = arm-elf- - ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft - MAXOPTIMIZATION = -Os -endif -ifeq ($(CONFIG_LPC17_CODEREDW),y) - # CodeSourcery under Windows - CROSSDEV = arm-none-eabi- - WINTOOL = y - ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -D__NEWLIB__ -endif -ifeq ($(CONFIG_LPC17_CODEREDL),y) - # CodeSourcery under Linux - CROSSDEV = arm-none-eabi- - ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -D__NEWLIB__ - MAXOPTIMIZATION = -O2 -endif +include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs ifeq ($(WINTOOL),y) # Windows-native toolchains - DIRLINK = $(TOPDIR)/tools/winlink.sh + DIRLINK = $(TOPDIR)/tools/copydir.sh DIRUNLINK = $(TOPDIR)/tools/unlink.sh MKDEP = $(TOPDIR)/tools/mknulldeps.sh ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}" ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}" MAXOPTIMIZATION = -O2 - NXFLATLDSCRIPT = -T "${shell cygpath -w $(TOPDIR)/binfmt/libnxflat/gnu-nxflat.ld}" + NXFLATLDSCRIPT = -T "${shell cygpath -w $(TOPDIR)/binfmt/libnxflat/gnu-nxflat-gotoff.ld}" else # Linux/Cygwin-native toolchain MKDEP = $(TOPDIR)/tools/mkdeps.sh ARCHINCLUDES = -I. -isystem $(TOPDIR)/include ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script - NXFLATLDSCRIPT = -T"$(TOPDIR)/binfmt/libnxflat/gnu-nxflat.ld" + NXFLATLDSCRIPT = -T"$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-gotoff.ld" endif CC = $(CROSSDEV)gcc @@ -114,7 +76,7 @@ LDNXFLAT = ldnxflat ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'} ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1} -ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") +ifeq ($(CONFIG_DEBUG_SYMBOLS),y) ARCHOPTIMIZATION = -g else ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer @@ -142,42 +104,13 @@ OBJEXT = .o LIBEXT = .a EXEEXT = -ifneq ($(CROSSDEV),arm-elf-) +ifneq ($(CROSSDEV),arm-nuttx-elf-) LDFLAGS += -nostartfiles -nodefaultlibs endif ifeq ($(CONFIG_DEBUG_SYMBOLS),y) LDFLAGS += -g endif -define PREPROCESS - @echo "CPP: $1->$2" - @$(CPP) $(CPPFLAGS) $1 -o $2 -endef - -define COMPILE - @echo "CC: $1" - @$(CC) -c $(CFLAGS) $1 -o $2 -endef - -define COMPILEXX - @echo "CXX: $1" - @$(CXX) -c $(CXXFLAGS) $1 -o $2 -endef - -define ASSEMBLE - @echo "AS: $1" - @$(CC) -c $(AFLAGS) $1 -o $2 -endef - -define ARCHIVE - echo "AR: $2"; \ - $(AR) $1 $2 || { echo "$(AR) $1 $2 FAILED!" ; exit 1 ; } -endef - -define CLEAN - @rm -f *.o *.a -endef - HOSTCC = gcc HOSTINCLUDES = -I. HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe diff --git a/nuttx/configs/zkit-arm-1769/src/Makefile b/nuttx/configs/zkit-arm-1769/src/Makefile index b04f0c75f..f766616cd 100644 --- a/nuttx/configs/zkit-arm-1769/src/Makefile +++ b/nuttx/configs/zkit-arm-1769/src/Makefile @@ -77,21 +77,20 @@ $(COBJS) $(LINKOBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libboard$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ - $(call ARCHIVE, $@, $${obj}); \ - done ; ) + $(call ARCHIVE, $@, $(OBJS)) .depend: Makefile $(SRCS) - @$(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ + $(Q) $(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) touch $@ depend: .depend clean: - @rm -f libboard$(LIBEXT) *~ .*.swp + $(call DELFILE, libboard$(LIBEXT)) $(call CLEAN) distclean: clean - @rm -f Make.dep .depend + $(call DELFILE, Make.dep) + $(call DELFILE, .depend) -include Make.dep diff --git a/nuttx/configs/zkit-arm-1769/src/up_boot.c b/nuttx/configs/zkit-arm-1769/src/up_boot.c index 6622f8de6..de7863eb1 100644 --- a/nuttx/configs/zkit-arm-1769/src/up_boot.c +++ b/nuttx/configs/zkit-arm-1769/src/up_boot.c @@ -52,7 +52,6 @@ #include "up_arch.h" #include "up_internal.h" -#include "lpc17_internal.h" #include "zkitarm_internal.h" /************************************************************************************ diff --git a/nuttx/configs/zkit-arm-1769/src/up_leds.c b/nuttx/configs/zkit-arm-1769/src/up_leds.c index f0d8730d5..124c14af9 100644 --- a/nuttx/configs/zkit-arm-1769/src/up_leds.c +++ b/nuttx/configs/zkit-arm-1769/src/up_leds.c @@ -51,7 +51,7 @@ #include "up_arch.h" #include "up_internal.h" -#include "lpc17_internal.h" +#include "lpc17_gpio.h" #include "zkitarm_internal.h" #ifdef CONFIG_ARCH_LEDS diff --git a/nuttx/configs/zkit-arm-1769/src/up_ssp.c b/nuttx/configs/zkit-arm-1769/src/up_ssp.c index 543669035..41fc0b344 100644 --- a/nuttx/configs/zkit-arm-1769/src/up_ssp.c +++ b/nuttx/configs/zkit-arm-1769/src/up_ssp.c @@ -54,7 +54,7 @@ #include "up_arch.h" #include "chip.h" -#include "lpc17_internal.h" +#include "lpc17_ssp.h" #include "zkitarm_internal.h" #if defined(CONFIG_LPC17_SSP0) || defined(CONFIG_LPC17_SSP1) @@ -122,7 +122,7 @@ void weak_function lpc17_sspinitialize(void) #ifdef CONFIG_NX_LCDDRIVER (void)lpc17_configgpio(ZKITARM_OLED_CS); #endif -#endif +#endif /* CONFIG_LPC17_SSP0 */ ssp_dumpgpio("lpc17_sspinitialize() Exit"); } @@ -168,7 +168,7 @@ uint8_t lpc17_ssp1status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) sspdbg("Returning SPI_STATUS_PRESENT\n"); return SPI_STATUS_PRESENT; } -#endif +#endif /* CONFIG_LPC17_SSP1 */ #ifdef CONFIG_LPC17_SSP0 void lpc17_ssp0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected) @@ -209,6 +209,6 @@ uint8_t lpc17_ssp0status(FAR struct spi_dev_s *dev, enum spi_dev_e devid) sspdbg("Returning zero\n"); return 0; } -#endif +#endif /* CONFIG_LPC17_SSP0 */ #endif /* CONFIG_LPC17_SSP0 || CONFIG_LPC17_SSP1 */ diff --git a/nuttx/configs/zkit-arm-1769/thttpd/Make.defs b/nuttx/configs/zkit-arm-1769/thttpd/Make.defs new file mode 100644 index 000000000..8c6d2ed21 --- /dev/null +++ b/nuttx/configs/zkit-arm-1769/thttpd/Make.defs @@ -0,0 +1,117 @@ +############################################################################ +# configs/zkit-arm-1769/thttpd/Make.defs +# +# Copyright (C) 2013 Zilogic Systems. All rights reserved. +# Author: BabuSubashChandar +# +# Based on configs/lpcxpresso-lpc1768/thttpd/Make.defs +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# 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. +# +############################################################################ + +include ${TOPDIR}/.config +include ${TOPDIR}/tools/Config.mk +include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs + +ifeq ($(WINTOOL),y) + # Windows-native toolchains + DIRLINK = $(TOPDIR)/tools/copydir.sh + DIRUNLINK = $(TOPDIR)/tools/unlink.sh + MKDEP = $(TOPDIR)/tools/mknulldeps.sh + ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" + ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}" + ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}" + MAXOPTIMIZATION = -O2 + NXFLATLDSCRIPT = -T "${shell cygpath -w $(TOPDIR)/binfmt/libnxflat/gnu-nxflat-gotoff.ld}" +else + # Linux/Cygwin-native toolchain + MKDEP = $(TOPDIR)/tools/mkdeps.sh + ARCHINCLUDES = -I. -isystem $(TOPDIR)/include + ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx + ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script + NXFLATLDSCRIPT = -T"$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-gotoff.ld" +endif + +CC = $(CROSSDEV)gcc +CXX = $(CROSSDEV)g++ +CPP = $(CROSSDEV)gcc -E +LD = $(CROSSDEV)ld +AR = $(CROSSDEV)ar rcs +NM = $(CROSSDEV)nm +OBJCOPY = $(CROSSDEV)objcopy +OBJDUMP = $(CROSSDEV)objdump + +MKNXFLAT = mknxflat +LDNXFLAT = ldnxflat + +ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'} +ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1} + +ifeq ($(CONFIG_DEBUG_SYMBOLS),y) + ARCHOPTIMIZATION = -g +else + ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer +endif + +ARCHCFLAGS = -fno-builtin +ARCHCXXFLAGS = -fno-builtin -fno-exceptions +ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow +ARCHWARNINGSXX = -Wall -Wshadow +ARCHDEFINES = +ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10 + +CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe +CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS) +CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe +CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS) +CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) +AFLAGS = $(CFLAGS) -D__ASSEMBLY__ + +NXFLATLDFLAGS1 = -r -d -warn-common +NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) $(NXFLATLDSCRIPT) -no-check-sections +LDNXFLATFLAGS = -e main -s 2048 + +OBJEXT = .o +LIBEXT = .a +EXEEXT = + +ifneq ($(CROSSDEV),arm-nuttx-elf-) + LDFLAGS += -nostartfiles -nodefaultlibs +endif +ifeq ($(CONFIG_DEBUG_SYMBOLS),y) + LDFLAGS += -g +endif + +HOSTCC = gcc +HOSTINCLUDES = -I. +HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe +HOSTLDFLAGS = diff --git a/nuttx/configs/zkit-arm-1769/thttpd/defconfig b/nuttx/configs/zkit-arm-1769/thttpd/defconfig new file mode 100644 index 000000000..fab04c704 --- /dev/null +++ b/nuttx/configs/zkit-arm-1769/thttpd/defconfig @@ -0,0 +1,682 @@ +# +# Automatically generated file; DO NOT EDIT. +# Nuttx/ Configuration +# +CONFIG_NUTTX_NEWCONFIG=y + +# +# Build Setup +# +# CONFIG_EXPERIMENTAL is not set +CONFIG_HOST_LINUX=y +# CONFIG_HOST_OSX is not set +# CONFIG_HOST_WINDOWS is not set +# CONFIG_HOST_OTHER is not set + +# +# Build Configuration +# +# CONFIG_APPS_DIR="../apps" +# CONFIG_BUILD_2PASS is not set + +# +# Binary Output Formats +# +# CONFIG_RRLOAD_BINARY is not set +CONFIG_INTELHEX_BINARY=y +# CONFIG_MOTOROLA_SREC is not set +# CONFIG_RAW_BINARY is not set + +# +# Customize Header Files +# +# CONFIG_ARCH_STDBOOL_H is not set +# CONFIG_ARCH_MATH_H is not set +# CONFIG_ARCH_FLOAT_H is not set +# CONFIG_ARCH_STDARG_H is not set + +# +# Debug Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_SYMBOLS is not set + +# +# System Type +# +# CONFIG_ARCH_8051 is not set +CONFIG_ARCH_ARM=y +# CONFIG_ARCH_AVR is not set +# CONFIG_ARCH_HC is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_RGMP is not set +# CONFIG_ARCH_SH is not set +# CONFIG_ARCH_SIM is not set +# CONFIG_ARCH_X86 is not set +# CONFIG_ARCH_Z16 is not set +# CONFIG_ARCH_Z80 is not set +CONFIG_ARCH="arm" + +# +# ARM Options +# +# CONFIG_ARCH_CHIP_C5471 is not set +# CONFIG_ARCH_CHIP_CALYPSO is not set +# CONFIG_ARCH_CHIP_DM320 is not set +# CONFIG_ARCH_CHIP_IMX is not set +# CONFIG_ARCH_CHIP_KINETIS is not set +# CONFIG_ARCH_CHIP_LM is not set +CONFIG_ARCH_CHIP_LPC17XX=y +# CONFIG_ARCH_CHIP_LPC214X is not set +# CONFIG_ARCH_CHIP_LPC2378 is not set +# CONFIG_ARCH_CHIP_LPC31XX is not set +# CONFIG_ARCH_CHIP_LPC43XX is not set +# CONFIG_ARCH_CHIP_NUC1XX is not set +# CONFIG_ARCH_CHIP_SAM3U is not set +# CONFIG_ARCH_CHIP_STM32 is not set +# CONFIG_ARCH_CHIP_STR71X is not set +CONFIG_ARCH_CORTEXM3=y +CONFIG_ARCH_FAMILY="armv7-m" +CONFIG_ARCH_CHIP="lpc17xx" +# CONFIG_ARMV7M_USEBASEPRI is not set +CONFIG_ARCH_HAVE_CMNVECTOR=y +# CONFIG_ARMV7M_CMNVECTOR is not set +CONFIG_ARCH_HAVE_MPU=y +# CONFIG_ARMV7M_MPU is not set +CONFIG_BOARD_LOOPSPERMSEC=8079 +# CONFIG_ARCH_CALIBRATION is not set + +# +# ARMV7M Configuration Options +# +CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y +# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set +# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set +# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI is not set +CONFIG_ARMV7M_OABI_TOOLCHAIN=y + +# +# LPC17xx Configuration Options +# +# CONFIG_ARCH_CHIP_LPC1751 is not set +# CONFIG_ARCH_CHIP_LPC1752 is not set +# CONFIG_ARCH_CHIP_LPC1754 is not set +# CONFIG_ARCH_CHIP_LPC1756 is not set +# CONFIG_ARCH_CHIP_LPC1758 is not set +# CONFIG_ARCH_CHIP_LPC1759 is not set +# CONFIG_ARCH_CHIP_LPC1764 is not set +# CONFIG_ARCH_CHIP_LPC1765 is not set +# CONFIG_ARCH_CHIP_LPC1766 is not set +# CONFIG_ARCH_CHIP_LPC1767 is not set +CONFIG_ARCH_CHIP_LPC1768=y +# CONFIG_ARCH_CHIP_LPC1769 is not set +# CONFIG_ARCH_CHIP_LPC1773 is not set +# CONFIG_ARCH_CHIP_LPC1774 is not set +# CONFIG_ARCH_CHIP_LPC1776 is not set +# CONFIG_ARCH_CHIP_LPC1777 is not set +# CONFIG_ARCH_CHIP_LPC1778 is not set +# CONFIG_ARCH_CHIP_LPC1785 is not set +# CONFIG_ARCH_CHIP_LPC1786 is not set +# CONFIG_ARCH_CHIP_LPC1787 is not set +# CONFIG_ARCH_CHIP_LPC1788 is not set +CONFIG_ARCH_FAMILY_LPC176X=y + +# +# LPC17xx Peripheral Support +# +CONFIG_LPC17_MAINOSC=y +CONFIG_LPC17_PLL0=y +CONFIG_LPC17_PLL1=y +CONFIG_LPC17_ETHERNET=y +# CONFIG_LPC17_USBHOST is not set +# CONFIG_LPC17_USBDEV is not set +CONFIG_LPC17_UART0=y +# CONFIG_LPC17_UART1 is not set +# CONFIG_LPC17_UART2 is not set +# CONFIG_LPC17_UART3 is not set +# CONFIG_LPC17_CAN1 is not set +# CONFIG_LPC17_CAN2 is not set +# CONFIG_LPC17_SPI is not set +# CONFIG_LPC17_SSP0 is not set +# CONFIG_LPC17_SSP1 is not set +# CONFIG_LPC17_I2C0 is not set +# CONFIG_LPC17_I2C1 is not set +# CONFIG_LPC17_I2C2 is not set +# CONFIG_LPC17_I2S is not set +# CONFIG_LPC17_TMR0 is not set +# CONFIG_LPC17_TMR1 is not set +# CONFIG_LPC17_TMR2 is not set +# CONFIG_LPC17_TMR3 is not set +# CONFIG_LPC17_RIT is not set +# CONFIG_LPC17_PWM is not set +# CONFIG_LPC17_MCPWM is not set +# CONFIG_LPC17_QEI is not set +# CONFIG_LPC17_RTC is not set +# CONFIG_LPC17_WDT is not set +# CONFIG_LPC17_ADC is not set +# CONFIG_LPC17_DAC is not set +# CONFIG_LPC17_GPDMA is not set +# CONFIG_LPC17_FLASH is not set + +# +# Serial driver options +# +# CONFIG_SERIAL_TERMIOS is not set +# CONFIG_UART0_FLOWCONTROL is not set + +# +# ADC driver options +# + +# +# CAN driver options +# +# CONFIG_GPIO_IRQ is not set + +# +# I2C driver options +# + +# +# Ethernet driver options +# +CONFIG_PHY_AUTONEG=y +CONFIG_NET_EMACRAM_SIZE=16384 +CONFIG_NET_NTXDESC=18 +CONFIG_NET_NRXDESC=18 +CONFIG_NET_PRIORITY=0 +# CONFIG_NET_WOL is not set +# CONFIG_NET_HASH is not set +# CONFIG_NET_MULTICAST is not set + +# +# USB device driver options +# + +# +# USB host driver options +# + +# +# External Memory Configuration +# + +# +# Architecture Options +# +# CONFIG_ARCH_NOINTC is not set +# CONFIG_ARCH_VECNOTIRQ is not set +# CONFIG_ARCH_DMA is not set +CONFIG_ARCH_IRQPRIO=y +# CONFIG_CUSTOM_STACK is not set +# CONFIG_ADDRENV is not set +CONFIG_ARCH_HAVE_VFORK=y +CONFIG_ARCH_STACKDUMP=y +# CONFIG_ENDIAN_BIG is not set +# CONFIG_ARCH_HAVE_RAMFUNCS is not set + +# +# Board Settings +# +CONFIG_DRAM_START=0x10000000 +CONFIG_DRAM_SIZE=32768 +CONFIG_ARCH_HAVE_INTERRUPTSTACK=y +CONFIG_ARCH_INTERRUPTSTACK=0 + +# +# Boot options +# +# CONFIG_BOOT_RUNFROMEXTSRAM is not set +CONFIG_BOOT_RUNFROMFLASH=y +# CONFIG_BOOT_RUNFROMISRAM is not set +# CONFIG_BOOT_RUNFROMSDRAM is not set +# CONFIG_BOOT_COPYTORAM is not set + +# +# Board Selection +# +# CONFIG_ARCH_BOARD_LPCXPRESSO is not set +# CONFIG_ARCH_BOARD_MBED is not set +# CONFIG_ARCH_BOARD_NUCLEUS2G is not set +CONFIG_ARCH_BOARD_ZKITARM=y +# CONFIG_ARCH_BOARD_CUSTOM is not set +CONFIG_ARCH_BOARD="zkit-arm-1769" + +# +# Common Board Options +# +CONFIG_ARCH_LEDS=y + +# +# Board-Specific Options +# + +# +# RTOS Features +# +# CONFIG_BOARD_INITIALIZE is not set +CONFIG_MSEC_PER_TICK=10 +CONFIG_RR_INTERVAL=200 +# CONFIG_SCHED_INSTRUMENTATION is not set +CONFIG_TASK_NAME_SIZE=0 +# CONFIG_SCHED_HAVE_PARENT is not set +# CONFIG_JULIAN_TIME is not set +CONFIG_START_YEAR=2013 +CONFIG_START_MONTH=2 +CONFIG_START_DAY=26 +CONFIG_DEV_CONSOLE=y +# CONFIG_MUTEX_TYPES is not set +# CONFIG_PRIORITY_INHERITANCE is not set +# CONFIG_FDCLONE_DISABLE is not set +# CONFIG_FDCLONE_STDIO is not set +# CONFIG_SDCLONE_DISABLE is not set +# CONFIG_SCHED_WORKQUEUE is not set +# CONFIG_SCHED_WAITPID is not set +# CONFIG_SCHED_STARTHOOK is not set +# CONFIG_SCHED_ATEXIT is not set +# CONFIG_SCHED_ONEXIT is not set +CONFIG_USER_ENTRYPOINT="thttp_main" +CONFIG_DISABLE_OS_API=y +# CONFIG_DISABLE_CLOCK is not set +CONFIG_DISABLE_POSIX_TIMERS=y +CONFIG_DISABLE_PTHREAD=y +# CONFIG_DISABLE_SIGNALS is not set +CONFIG_DISABLE_MQUEUE=y +# CONFIG_DISABLE_ENVIRON is not set + +# +# Signal Numbers +# +CONFIG_SIG_SIGUSR1=1 +CONFIG_SIG_SIGUSR2=2 +CONFIG_SIG_SIGALARM=3 + +# +# Sizes of configurable things (0 disables) +# +CONFIG_MAX_TASKS=16 +CONFIG_MAX_TASK_ARGS=4 +CONFIG_NPTHREAD_KEYS=0 +CONFIG_NFILE_DESCRIPTORS=8 +CONFIG_NFILE_STREAMS=8 +CONFIG_NAME_MAX=32 +CONFIG_PREALLOC_MQ_MSGS=0 +CONFIG_MQ_MAXMSGSIZE=0 +CONFIG_MAX_WDOGPARMS=2 +CONFIG_PREALLOC_WDOGS=8 +CONFIG_PREALLOC_TIMERS=8 + +# +# Stack and heap information +# +CONFIG_IDLETHREAD_STACKSIZE=1024 +CONFIG_USERMAIN_STACKSIZE=8192 +CONFIG_PTHREAD_STACK_MIN=256 +CONFIG_PTHREAD_STACK_DEFAULT=2048 + +# +# Device Drivers +# +# CONFIG_DISABLE_POLL is not set +CONFIG_DEV_NULL=y +# CONFIG_DEV_ZERO is not set +# CONFIG_LOOP is not set +# CONFIG_RAMDISK is not set +# CONFIG_CAN is not set +# CONFIG_PWM is not set +# CONFIG_I2C is not set +# CONFIG_SPI is not set +# CONFIG_RTC is not set +# CONFIG_WATCHDOG is not set +# CONFIG_ANALOG is not set +# CONFIG_BCH is not set +# CONFIG_INPUT is not set +# CONFIG_LCD is not set +# CONFIG_MMCSD is not set +# CONFIG_MTD is not set +# CONFIG_NETDEVICES is not set +# CONFIG_NET_SLIP is not set +# CONFIG_PIPES is not set +# CONFIG_PM is not set +# CONFIG_POWER is not set +# CONFIG_SENSORS is not set +# CONFIG_SERCOMM_CONSOLE is not set +CONFIG_SERIAL=y +CONFIG_DEV_LOWCONSOLE=y +# CONFIG_16550_UART is not set +CONFIG_ARCH_HAVE_UART0=y +CONFIG_MCU_SERIAL=y +CONFIG_UART0_SERIAL_CONSOLE=y +# CONFIG_NO_SERIAL_CONSOLE is not set + +# +# UART0 Configuration +# +CONFIG_UART0_RXBUFSIZE=256 +CONFIG_UART0_TXBUFSIZE=256 +CONFIG_UART0_BAUD=115200 +CONFIG_UART0_BITS=8 +CONFIG_UART0_PARITY=0 +CONFIG_UART0_2STOP=0 +# CONFIG_USBDEV is not set +# CONFIG_USBHOST is not set +# CONFIG_WIRELESS is not set + +# +# System Logging Device Options +# + +# +# System Logging +# +# CONFIG_RAMLOG is not set + +# +# Networking Support +# +CONFIG_NET=y +CONFIG_ARCH_HAVE_PHY=y +# CONFIG_PHY_KS8721 is not set +CONFIG_PHY_DP83848C=y +# CONFIG_PHY_LAN8720 is not set +# CONFIG_PHY_DM9161 is not set +# CONFIG_NET_NOINTS is not set +# CONFIG_NET_MULTIBUFFER is not set +# CONFIG_NET_IPv6 is not set +CONFIG_NSOCKET_DESCRIPTORS=16 +CONFIG_NET_NACTIVESOCKETS=16 +CONFIG_NET_SOCKOPTS=y +CONFIG_NET_BUFSIZE=420 +# CONFIG_NET_TCPURGDATA is not set + +# +# TCP/IP Networking +# +CONFIG_NET_TCP=y +CONFIG_NET_TCP_CONNS=16 +CONFIG_NET_MAX_LISTENPORTS=8 +CONFIG_NET_TCP_READAHEAD_BUFSIZE=562 +CONFIG_NET_NTCP_READAHEAD_BUFFERS=8 +CONFIG_NET_TCP_RECVDELAY=0 +CONFIG_NET_TCPBACKLOG=y +# CONFIG_NET_TCP_SPLIT is not set + +# +# UDP Networking +# +# CONFIG_NET_UDP is not set +CONFIG_NET_ICMP=y +# CONFIG_NET_ICMP_PING is not set +# CONFIG_NET_PINGADDRCONF is not set +# CONFIG_NET_IGMP is not set +# CONFIG_NET_STATISTICS is not set +CONFIG_NET_RECEIVE_WINDOW=562 +CONFIG_NET_ARPTAB_SIZE=16 +# CONFIG_NET_ARP_IPIN is not set + +# +# File Systems +# + +# +# File system configuration +# +# CONFIG_DISABLE_MOUNTPOINT is not set +# CONFIG_FS_RAMMAP is not set +# CONFIG_FS_FAT is not set +# CONFIG_NFS is not set +# CONFIG_FS_NXFFS is not set +CONFIG_FS_ROMFS=y + +# +# System Logging +# +# CONFIG_SYSLOG_ENABLE is not set +# CONFIG_SYSLOG is not set + +# +# Graphics Support +# +# CONFIG_NX is not set + +# +# Memory Management +# +# CONFIG_MM_SMALL is not set +CONFIG_MM_REGIONS=2 +# CONFIG_GRAN is not set + +# +# Binary Formats +# +# CONFIG_BINFMT_DISABLE is not set +# CONFIG_BINFMT_EXEPATH is not set +CONFIG_NXFLAT=y +# CONFIG_ELF is not set +# CONFIG_BUILTIN is not set +CONFIG_PIC=y +CONFIG_SYMTAB_ORDEREDBYNAME=y + +# +# Library Routines +# + +# +# Standard C Library Options +# +CONFIG_STDIO_BUFFER_SIZE=64 +CONFIG_STDIO_LINEBUFFER=y +CONFIG_NUNGET_CHARS=0 +CONFIG_LIB_HOMEDIR="/" +# CONFIG_LIBM is not set +# CONFIG_NOPRINTF_FIELDWIDTH is not set +# CONFIG_LIBC_FLOATINGPOINT is not set +# CONFIG_EOL_IS_CR is not set +# CONFIG_EOL_IS_LF is not set +# CONFIG_EOL_IS_BOTH_CRLF is not set +CONFIG_EOL_IS_EITHER_CRLF=y +# CONFIG_LIBC_EXECFUNCS is not set +CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024 +CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048 +# CONFIG_LIBC_STRERROR is not set +# CONFIG_LIBC_PERROR_STDOUT is not set +CONFIG_ARCH_LOWPUTC=y +CONFIG_LIB_SENDFILE_BUFSIZE=512 +# CONFIG_ARCH_ROMGETC is not set +# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set + +# +# Non-standard Helper Functions +# +# CONFIG_LIB_KBDCODEC is not set + +# +# Basic CXX Support +# +# CONFIG_C99_BOOL8 is not set +# CONFIG_HAVE_CXX is not set + +# +# Application Configuration +# + +# +# Built-In Applications +# + +# +# Examples +# +# CONFIG_EXAMPLES_BUTTONS is not set +# CONFIG_EXAMPLES_CAN is not set +# CONFIG_EXAMPLES_COMPOSITE is not set +# CONFIG_EXAMPLES_DHCPD is not set +# CONFIG_EXAMPLES_ELF is not set +# CONFIG_EXAMPLES_FTPC is not set +# CONFIG_EXAMPLES_FTPD is not set +# CONFIG_EXAMPLES_HELLO is not set +# CONFIG_EXAMPLES_HELLOXX is not set +# CONFIG_EXAMPLES_JSON is not set +# CONFIG_EXAMPLES_HIDKBD is not set +# CONFIG_EXAMPLES_KEYPADTEST is not set +# CONFIG_EXAMPLES_IGMP is not set +# CONFIG_EXAMPLES_LCDRW is not set +# CONFIG_EXAMPLES_MM is not set +# CONFIG_EXAMPLES_MOUNT is not set +# CONFIG_EXAMPLES_MODBUS is not set +# CONFIG_EXAMPLES_NETTEST is not set +# CONFIG_EXAMPLES_NSH is not set +# CONFIG_EXAMPLES_NULL is not set +# CONFIG_EXAMPLES_NX is not set +# CONFIG_EXAMPLES_NXCONSOLE is not set +# CONFIG_EXAMPLES_NXFFS is not set +# CONFIG_EXAMPLES_NXFLAT is not set +# CONFIG_EXAMPLES_NXHELLO is not set +# CONFIG_EXAMPLES_NXIMAGE is not set +# CONFIG_EXAMPLES_NXLINES is not set +# CONFIG_EXAMPLES_NXTEXT is not set +# CONFIG_EXAMPLES_OSTEST is not set +# CONFIG_EXAMPLES_PASHELLO is not set +# CONFIG_EXAMPLES_PIPE is not set +# CONFIG_EXAMPLES_POLL is not set +# CONFIG_EXAMPLES_POSIXSPAWN is not set +# CONFIG_EXAMPLES_QENCODER is not set +# CONFIG_EXAMPLES_RGMP is not set +# CONFIG_EXAMPLES_ROMFS is not set +# CONFIG_EXAMPLES_SENDMAIL is not set +# CONFIG_EXAMPLES_SERLOOP is not set +# CONFIG_EXAMPLES_TELNETD is not set +CONFIG_EXAMPLES_THTTPD=y +CONFIG_EXAMPLES_THTTPD_NOMAC=y +CONFIG_EXAMPLES_THTTPD_DRIPADDR=0xa0000001 +CONFIG_EXAMPLES_THTTPD_NETMASK=0xffffff00 +# CONFIG_EXAMPLES_TIFF is not set +# CONFIG_EXAMPLES_TOUCHSCREEN is not set +# CONFIG_EXAMPLES_UDP is not set +# CONFIG_EXAMPLES_UIP is not set +# CONFIG_EXAMPLES_USBSERIAL is not set +# CONFIG_EXAMPLES_USBMSC is not set +# CONFIG_EXAMPLES_USBTERM is not set +# CONFIG_EXAMPLES_WATCHDOG is not set +# CONFIG_EXAMPLES_WGET is not set +# CONFIG_EXAMPLES_XMLRPC is not set + +# +# Interpreters +# +# CONFIG_INTERPRETERS_FICL is not set +# CONFIG_INTERPRETERS_PCODE is not set + +# +# Network Utilities +# + +# +# Networking Utilities +# +# CONFIG_NETUTILS_CODECS is not set +# CONFIG_NETUTILS_DHCPC is not set +# CONFIG_NETUTILS_DHCPD is not set +# CONFIG_NETUTILS_FTPC is not set +# CONFIG_NETUTILS_FTPD is not set +# CONFIG_NETUTILS_JSON is not set +# CONFIG_NETUTILS_RESOLV is not set +# CONFIG_NETUTILS_SMTP is not set +# CONFIG_NETUTILS_TELNETD is not set +# CONFIG_NETUTILS_TFTPC is not set +CONFIG_NETUTILS_THTTPD=y +CONFIG_THTTPD_PORT=80 +CONFIG_THTTPD_IPADDR=0xac100064 +CONFIG_THTTPD_SERVER_ADDRESS="http://www.nuttx.org" +CONFIG_THTTPD_SERVER_SOFTWARE="thttpd/2.25b 29dec2003-NuttX" +CONFIG_THTTPD_PATH="/mnt/www" +CONFIG_THTTPD_CGI_PATH="/mnt/www/cgi-bin" +CONFIG_THTTPD_CGI_PATTERN="/mnt/www/cgi-bin/*" +CONFIG_THTTPD_CGI_PRIORITY=50 +CONFIG_THTTPD_CGI_STACKSIZE=1024 +CONFIG_THTTPD_CGI_BYTECOUNT=20000 +CONFIG_THTTPD_CGI_TIMELIMIT=0 +CONFIG_THTTPD_CHARSET="iso-8859-1" +CONFIG_THTTPD_IOBUFFERSIZE=1024 +CONFIG_THTTPD_MINSTRSIZE=64 +CONFIG_THTTPD_REALLOCINCR=64 +CONFIG_THTTPD_MAXREALLOC=4096 +CONFIG_THTTPD_CGIINBUFFERSIZ=512 +CONFIG_THTTPD_CGIOUTBUFFERSIZE=512 +CONFIG_THTTPD_INDEX_NAMES="\"index.html\", \"index.htm\", \"index.cgi\"" +# CONFIG_THTTPD_USE_AUTH_FILE is not set +CONFIG_THTTPD_LISTEN_BACKLOG=8 +CONFIG_THTTPD_LINGER_MSEC=500 +CONFIG_THTTPD_OCCASIONAL_MSEC=120 +CONFIG_THTTPD_IDLE_READ_LIMIT_SEC=300 +CONFIG_THTTPD_IDLE_SEND_LIMIT_SEC=300 +# CONFIG_THTTPD_USE_TILDE_MAP1 is not set +# CONFIG_THTTPD_USE_TILDE_MAP2 is not set +CONFIG_THTTPD_TILDE_MAP_NONE=y +# CONFIG_THTTPD_GENERATE_INDICES is not set +# CONFIG_THTTPD_USE_URLPATTERN is not set +CONFIG_NETUTILS_UIPLIB=y +# CONFIG_NETUTILS_WEBCLIENT is not set +# CONFIG_NETUTILS_WEBSERVER is not set +# CONFIG_NETUTILS_XMLRPC is not set + +# +# FreeModBus +# +# CONFIG_MODBUS is not set + +# +# NSH Library +# +# CONFIG_NSH_LIBRARY is not set + +# +# NxWidgets/NxWM +# + +# +# System NSH Add-Ons +# + +# +# Custom Free Memory Command +# +# CONFIG_SYSTEM_FREE is not set + +# +# I2C tool +# + +# +# FLASH Program Installation +# +# CONFIG_SYSTEM_INSTALL is not set + +# +# readline() +# +# CONFIG_SYSTEM_READLINE is not set + +# +# Power Off +# +# CONFIG_SYSTEM_POWEROFF is not set + +# +# RAMTRON +# +# CONFIG_SYSTEM_RAMTRON is not set + +# +# SD Card +# +# CONFIG_SYSTEM_SDCARD is not set + +# +# Sysinfo +# +# CONFIG_SYSTEM_SYSINFO is not set + +# +# USB Monitor +# diff --git a/nuttx/configs/zkit-arm-1769/thttpd/setenv.sh b/nuttx/configs/zkit-arm-1769/thttpd/setenv.sh new file mode 100644 index 000000000..afbb1f9c6 --- /dev/null +++ b/nuttx/configs/zkit-arm-1769/thttpd/setenv.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# configs/zkit-arm-1769/thttpd/setenv.sh +# +# Copyright (C) 2013 Zilogic Systems. All rights reserved. +# Author: BabuSubashChandar +# +# Based on configs/lpcxpresso-lpc1768/thttpd/setenv.sh +# +# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# 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. +# + +if [ "$_" = "$0" ] ; then + echo "You must source this script, not run it!" 1>&2 + exit 1 +fi + +WD=`pwd` +if [ ! -x "setenv.sh" ]; then + echo "This script must be executed from the top-level NuttX build directory" + exit 1 +fi + +if [ -z "${PATH_ORIG}" ]; then + export PATH_ORIG="${PATH}" +fi + +# This is where the buildroot might reside on a Linux or Cygwin system +# A minimal buildroot version with the NXFLAT tools is always required +# for this configuration in order to buildthe THTTPD CGI programs +export BUILDROOT_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" + +# This is the default install location for Code Red on Linux +#export TOOLCHAIN_BIN="/usr/local/LPCXpresso/tools/bin" + +# This the Cygwin path to the LPCXpresso 3.6 install location under Windows +#export TOOLCHAIN_BIN="/cygdrive/c/nxp/lpcxpresso_3.6/Tools/bin" + +# This is the path to the LPCXpression tool subdirectory +export LPCTOOL_DIR="${WD}/configs/zkit-arm-1769/tools" + +# Add the path to the toolchain to the PATH varialble +export PATH="${LPCTOOL_DIR}:${BUILDROOT_BIN}:/sbin:/usr/sbin:${PATH_ORIG}" + +echo "PATH : ${PATH}" diff --git a/nuttx/sched/pthread_internal.h b/nuttx/sched/pthread_internal.h index 1a1c2282a..285cd11e6 100644 --- a/nuttx/sched/pthread_internal.h +++ b/nuttx/sched/pthread_internal.h @@ -94,7 +94,8 @@ extern "C" * Public Function Prototypes ****************************************************************************/ -struct task_group_s; /* Forward reference */ +struct pthread_tcb_s; /* Forward reference */ +struct task_group_s; /* Forward reference */ void weak_function pthread_initialize(void); int pthread_schedsetup(FAR struct pthread_tcb_s *tcb, int priority, start_t start, -- cgit v1.2.3