From e1cb28f4ac5cd6a21abde779aed2b9af8b1b6a8f Mon Sep 17 00:00:00 2001 From: "Anton D. Kachalov" Date: Fri, 31 Jul 2015 14:06:04 +0300 Subject: [PATCH 1/3] Enable TCP_BACKLOG, DRIVER_POLLING Signed-off-by: Anton D. Kachalov --- configs/moxa/nsh/defconfig | 88 ++++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 41 deletions(-) diff --git a/configs/moxa/nsh/defconfig b/configs/moxa/nsh/defconfig index 42ee6771735..00e53882c63 100644 --- a/configs/moxa/nsh/defconfig +++ b/configs/moxa/nsh/defconfig @@ -6,7 +6,7 @@ # # Build Setup # -# CONFIG_EXPERIMENTAL is not set +CONFIG_EXPERIMENTAL=y CONFIG_DEFAULT_SMALL=y CONFIG_HOST_LINUX=y # CONFIG_HOST_OSX is not set @@ -16,7 +16,7 @@ CONFIG_HOST_LINUX=y # # Build Configuration # -# CONFIG_APPS_DIR="../apps" +CONFIG_APPS_DIR="apps/" CONFIG_BUILD_FLAT=y # CONFIG_BUILD_2PASS is not set @@ -144,8 +144,7 @@ CONFIG_ARCH_STACKDUMP=y # CONFIG_ENDIAN_BIG is not set # CONFIG_ARCH_IDLE_CUSTOM is not set # CONFIG_ARCH_HAVE_RAMFUNCS is not set -CONFIG_ARCH_HAVE_RAMVECTORS=y -CONFIG_ARCH_RAMVECTORS=y +# CONFIG_ARCH_HAVE_RAMVECTORS is not set # # Board Settings @@ -208,7 +207,7 @@ CONFIG_DISABLE_OS_API=y # CONFIG_DISABLE_PTHREAD is not set # CONFIG_DISABLE_SIGNALS is not set # CONFIG_DISABLE_MQUEUE is not set -CONFIG_DISABLE_ENVIRON=y +# CONFIG_DISABLE_ENVIRON is not set # # Clocks and Timers @@ -236,7 +235,9 @@ CONFIG_RR_INTERVAL=200 # CONFIG_SCHED_SPORADIC is not set CONFIG_TASK_NAME_SIZE=0 CONFIG_MAX_TASKS=16 -# CONFIG_SCHED_HAVE_PARENT is not set +CONFIG_SCHED_HAVE_PARENT=y +CONFIG_SCHED_CHILD_STATUS=y +CONFIG_PREALLOC_CHILDSTATUS=0 CONFIG_SCHED_WAITPID=y # @@ -257,7 +258,7 @@ CONFIG_NPTHREAD_KEYS=4 CONFIG_DEV_CONSOLE=y # CONFIG_FDCLONE_DISABLE is not set # CONFIG_FDCLONE_STDIO is not set -CONFIG_SDCLONE_DISABLE=y +# CONFIG_SDCLONE_DISABLE is not set CONFIG_NFILE_DESCRIPTORS=8 CONFIG_NFILE_STREAMS=8 CONFIG_NAME_MAX=32 @@ -278,6 +279,7 @@ CONFIG_BOARD_INITIALIZE=y CONFIG_SIG_SIGUSR1=1 CONFIG_SIG_SIGUSR2=2 CONFIG_SIG_SIGALARM=3 +CONFIG_SIG_SIGCHLD=4 CONFIG_SIG_SIGCONDTIMEDOUT=16 CONFIG_SIG_SIGWORK=17 @@ -309,7 +311,7 @@ CONFIG_PTHREAD_STACK_DEFAULT=2048 # # Device Drivers # -CONFIG_DISABLE_POLL=y +# CONFIG_DISABLE_POLL is not set CONFIG_DEV_NULL=y # CONFIG_DEV_ZERO is not set # CONFIG_LOOP is not set @@ -356,6 +358,7 @@ CONFIG_NETDEVICES=y # External Ethernet MAC Device Support # # CONFIG_NET_DM90x0 is not set +# CONFIG_NET_CS89x0 is not set # CONFIG_ENC28J60 is not set # CONFIG_ENCX24J600 is not set # CONFIG_NET_E1000 is not set @@ -425,6 +428,7 @@ CONFIG_16550_THRNE=y # # CONFIG_MCU_SERIAL is not set CONFIG_STANDARD_SERIAL=y +CONFIG_SERIAL_NPOLLWAITERS=2 # CONFIG_SERIAL_IFLOWCONTROL is not set # CONFIG_SERIAL_OFLOWCONTROL is not set # CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set @@ -463,6 +467,7 @@ CONFIG_NET_GUARDSIZE=2 # Data link support # # CONFIG_NET_MULTILINK is not set +# CONFIG_NET_USER_DEVFMT is not set CONFIG_NET_ETHERNET=y # CONFIG_NET_TUN is not set @@ -500,13 +505,14 @@ CONFIG_NET_SOCKOPTS=y # CONFIG_NET_TCP=y # CONFIG_NET_TCPURGDATA is not set +# CONFIG_NET_TCP_REASSEMBLY is not set CONFIG_NET_TCP_CONNS=8 CONFIG_NET_MAX_LISTENPORTS=20 CONFIG_NET_TCP_READAHEAD=y CONFIG_NET_TCP_WRITE_BUFFERS=y CONFIG_NET_TCP_NWRBCHAINS=8 CONFIG_NET_TCP_RECVDELAY=0 -# CONFIG_NET_TCPBACKLOG is not set +CONFIG_NET_TCPBACKLOG=y # CONFIG_NET_SENDFILE is not set # @@ -578,11 +584,11 @@ CONFIG_FS_MQUEUE_MPATH="/var/mqueue" # CONFIG_FS_RAMMAP is not set # CONFIG_FS_FAT is not set # CONFIG_FS_NXFFS is not set -# CONFIG_FS_ROMFS is not set +CONFIG_FS_ROMFS=y # CONFIG_FS_SMARTFS is not set CONFIG_FS_BINFS=y # CONFIG_FS_PROCFS is not set -# CONFIG_FS_UNIONFS is not set +CONFIG_FS_UNIONFS=y # # System Logging @@ -612,6 +618,7 @@ CONFIG_MM_REGIONS=1 # Binary Loader # # CONFIG_BINFMT_DISABLE is not set +# CONFIG_BINFMT_EXEPATH is not set # CONFIG_NXFLAT is not set # CONFIG_ELF is not set CONFIG_BUILTIN=y @@ -628,6 +635,7 @@ CONFIG_BUILTIN=y CONFIG_STDIO_BUFFER_SIZE=64 CONFIG_STDIO_LINEBUFFER=y CONFIG_NUNGET_CHARS=2 +CONFIG_LIB_HOMEDIR="/" # CONFIG_LIBM is not set # CONFIG_NOPRINTF_FIELDWIDTH is not set # CONFIG_LIBC_FLOATINGPOINT is not set @@ -644,6 +652,7 @@ CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048 # CONFIG_LIBC_STRERROR is not set # CONFIG_LIBC_PERROR_STDOUT is not set CONFIG_ARCH_LOWPUTC=y +# CONFIG_LIBC_LOCALTIME is not set # CONFIG_TIME_EXTENDED is not set CONFIG_LIB_SENDFILE_BUFSIZE=512 # CONFIG_ARCH_ROMGETC is not set @@ -663,7 +672,7 @@ CONFIG_LIBC_NETDB=y # CONFIG_C99_BOOL8 is not set CONFIG_HAVE_CXX=y # CONFIG_HAVE_CXXINITIALIZE is not set -# CONFIG_CXX_NEWLONG is not set +CONFIG_CXX_NEWLONG=y # # uClibc++ Standard C++ Library @@ -717,6 +726,7 @@ CONFIG_EXAMPLES_NSH=y # 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_SERIALBLASTER is not set # CONFIG_EXAMPLES_SERIALRX is not set @@ -725,25 +735,16 @@ CONFIG_EXAMPLES_NSH=y # CONFIG_EXAMPLES_SMART_TEST is not set # CONFIG_EXAMPLES_SMART is not set # CONFIG_EXAMPLES_TCPECHO is not set -CONFIG_EXAMPLES_TELNETD=y -# CONFIG_EXAMPLES_TELNETD_NOMAC is not set -CONFIG_EXAMPLES_TELNETD_IPADDR=0x0a000002 -CONFIG_EXAMPLES_TELNETD_DRIPADDR=0x0a000001 -CONFIG_EXAMPLES_TELNETD_NETMASK=0xffffff00 -CONFIG_EXAMPLES_TELNETD_DAEMONPRIO=100 -CONFIG_EXAMPLES_TELNETD_DAEMONSTACKSIZE=2048 -CONFIG_EXAMPLES_TELNETD_CLIENTPRIO=100 -CONFIG_EXAMPLES_TELNETD_CLIENTSTACKSIZE=2048 +# CONFIG_EXAMPLES_TELNETD is not set +# CONFIG_EXAMPLES_THTTPD is not set # CONFIG_EXAMPLES_TIFF is not set # CONFIG_EXAMPLES_TOUCHSCREEN is not set -CONFIG_EXAMPLES_WEBSERVER=y -CONFIG_EXAMPLES_WEBSERVER_IPADDR=0x0a000002 -CONFIG_EXAMPLES_WEBSERVER_DRIPADDR=0x0a000001 -CONFIG_EXAMPLES_WEBSERVER_NETMASK=0xffffff00 -# CONFIG_EXAMPLES_WEBSERVER_NOMAC is not set +# CONFIG_EXAMPLES_WEBSERVER is not set +# CONFIG_EXAMPLES_UNIONFS is not set # CONFIG_EXAMPLES_USBSERIAL is not set # CONFIG_EXAMPLES_USBTERM is not set # CONFIG_EXAMPLES_WATCHDOG is not set +# CONFIG_EXAMPLES_XMLRPC is not set # # Graphics Support @@ -768,24 +769,18 @@ CONFIG_EXAMPLES_WEBSERVER_NETMASK=0xffffff00 # # CONFIG_NETUTILS_CODECS is not set # CONFIG_NETUTILS_FTPC is not set +# CONFIG_NETUTILS_FTPD is not set # CONFIG_NETUTILS_JSON is not set # CONFIG_NETUTILS_SMTP is not set CONFIG_NETUTILS_TELNETD=y # CONFIG_NETUTILS_THTTPD is not set +# CONFIG_THTTPD_BINFS is not set +# CONFIG_THTTPD_USE_TILDE_MAP1 is not set +# CONFIG_THTTPD_USE_TILDE_MAP2 is not set +# CONFIG_THTTPD_TILDE_MAP_NONE is not set CONFIG_NETUTILS_NETLIB=y # CONFIG_NETUTILS_WEBCLIENT is not set -CONFIG_NETUTILS_WEBSERVER=y -# CONFIG_NETUTILS_HTTPD_SINGLECONNECT is not set -# CONFIG_NETUTILS_HTTPD_SCRIPT_DISABLE is not set -CONFIG_NETUTILS_HTTPD_MAXPATH=64 -# CONFIG_NETUTILS_HTTPD_CGIPATH is not set -CONFIG_NETUTILS_HTTPD_ERRPATH="" -# CONFIG_NETUTILS_HTTPD_SERVERHEADER_DISABLE is not set -CONFIG_NETUTILS_HTTPD_TIMEOUT=0 -CONFIG_NETUTILS_HTTPD_CLASSIC=y -# CONFIG_NETUTILS_HTTPD_MMAP is not set -# CONFIG_NETUTILS_HTTPD_SENDFILE is not set -CONFIG_NETUTILS_HTTPD_KEEPALIVE_DISABLE=y +# CONFIG_NETUTILS_WEBSERVER is not set # CONFIG_NETUTILS_XMLRPC is not set # @@ -804,7 +799,7 @@ CONFIG_NSH_LIBRARY=y CONFIG_NSH_READLINE=y # CONFIG_NSH_CLE is not set CONFIG_NSH_LINELEN=80 -CONFIG_NSH_DISABLE_SEMICOLON=y +# CONFIG_NSH_DISABLE_SEMICOLON is not set # CONFIG_NSH_CMDPARMS is not set CONFIG_NSH_MAXARGUMENTS=6 # CONFIG_NSH_ARGCAT is not set @@ -876,12 +871,12 @@ CONFIG_NSH_FILEIOSIZE=512 # CONFIG_NSH_DISABLESCRIPT is not set CONFIG_NSH_DISABLE_ITEF=y CONFIG_NSH_DISABLE_LOOPS=y +# CONFIG_NSH_ROMFSETC is not set # # Console Configuration # CONFIG_NSH_CONSOLE=y -# CONFIG_NSH_ALTCONDEV is not set # CONFIG_NSH_ARCHINIT is not set # @@ -905,7 +900,17 @@ CONFIG_NSH_MAX_ROUNDTRIP=20 # # Telnet Configuration # -# CONFIG_NSH_TELNET is not set +CONFIG_NSH_TELNET=y +CONFIG_NSH_TELNETD_PORT=23 +CONFIG_NSH_TELNETD_DAEMONPRIO=100 +CONFIG_NSH_TELNETD_DAEMONSTACKSIZE=2048 +CONFIG_NSH_TELNETD_CLIENTPRIO=100 +CONFIG_NSH_TELNETD_CLIENTSTACKSIZE=2048 +CONFIG_NSH_IOBUFFER_SIZE=512 +CONFIG_NSH_TELNET_LOGIN=y +CONFIG_NSH_TELNET_USERNAME="admin" +CONFIG_NSH_TELNET_PASSWORD="nuttx" +CONFIG_NSH_TELNET_FAILCOUNT=3 # # NxWidgets/NxWM @@ -927,6 +932,7 @@ CONFIG_NSH_MAX_ROUNDTRIP=20 # CONFIG_SYSTEM_INIFILE is not set # CONFIG_SYSTEM_NETDB is not set # CONFIG_SYSTEM_RAMTEST is not set +CONFIG_READLINE_HAVE_EXTMATCH=y CONFIG_SYSTEM_READLINE=y CONFIG_READLINE_ECHO=y # CONFIG_READLINE_TABCOMPLETION is not set From 66eacd32ce4ab91fa7ba2bb7b27c6298aaf9564c Mon Sep 17 00:00:00 2001 From: "Anton D. Kachalov" Date: Fri, 31 Jul 2015 14:08:53 +0300 Subject: [PATCH 2/3] Add flat tools Signed-off-by: Anton D. Kachalov --- configs/moxa/nsh/Make.defs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/moxa/nsh/Make.defs b/configs/moxa/nsh/Make.defs index 5df7ce62de2..40fd3b40fab 100644 --- a/configs/moxa/nsh/Make.defs +++ b/configs/moxa/nsh/Make.defs @@ -87,6 +87,9 @@ CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS) CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) AFLAGS = $(CFLAGS) -D__ASSEMBLY__ +MKNXFLAT = mknxflat +LDNXFLAT = ldnxflat + NXFLATLDFLAGS1 = -r -d -warn-common NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections LDNXFLATFLAGS = -e main -s 2048 From 5c413b3a66d6a4b961b11f81998f0516e158a019 Mon Sep 17 00:00:00 2001 From: "Anton D. Kachalov" Date: Fri, 31 Jul 2015 14:09:07 +0300 Subject: [PATCH 3/3] Setup IRQ Level/Mode outside of FTMAC100 driver Signed-off-by: Anton D. Kachalov --- configs/moxa/include/board.h | 3 +++ configs/moxa/src/moxart_boot.c | 4 ++++ configs/moxa/src/moxart_nsh.c | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/configs/moxa/include/board.h b/configs/moxa/include/board.h index 0a294072b2a..956003b4a61 100644 --- a/configs/moxa/include/board.h +++ b/configs/moxa/include/board.h @@ -218,6 +218,9 @@ extern "C" * Public Function Prototypes ************************************************************************************/ +inline void ftintc010_set_trig_mode(int irq, int mode); +inline void ftintc010_set_trig_level(int irq, int level); + #undef EXTERN #if defined(__cplusplus) } diff --git a/configs/moxa/src/moxart_boot.c b/configs/moxa/src/moxart_boot.c index f773982d3dc..cbee11e9595 100644 --- a/configs/moxa/src/moxart_boot.c +++ b/configs/moxa/src/moxart_boot.c @@ -47,6 +47,8 @@ #include #include +#include + /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -73,6 +75,8 @@ void board_initialize(void) { #ifdef CONFIG_NET_FTMAC100 /* Perform board-specific initialization */ + ftintc010_set_trig_mode(CONFIG_FTMAC100_IRQ, 0); + ftintc010_set_trig_level(CONFIG_FTMAC100_IRQ, 0); ftmac100_initialize(0); #endif diff --git a/configs/moxa/src/moxart_nsh.c b/configs/moxa/src/moxart_nsh.c index 1b4c4ea8770..f347c75df3d 100644 --- a/configs/moxa/src/moxart_nsh.c +++ b/configs/moxa/src/moxart_nsh.c @@ -47,6 +47,8 @@ #include #include +#include + /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ @@ -75,6 +77,8 @@ int board_app_initialize(void) #ifndef CONFIG_BOARD_INITIALIZE #ifdef CONFIG_NET_FTMAC100 /* Perform board-specific initialization */ + ftintc010_set_trig_mode(CONFIG_FTMAC100_IRQ, 0); + ftintc010_set_trig_level(CONFIG_FTMAC100_IRQ, 0); ftmac100_initialize(0); #endif