summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/examples/pashello/pashello.c2
-rw-r--r--nuttx/binfmt/Kconfig11
-rw-r--r--nuttx/binfmt/pcode.c3
-rw-r--r--nuttx/configs/sim/pashello/defconfig127
4 files changed, 95 insertions, 48 deletions
diff --git a/apps/examples/pashello/pashello.c b/apps/examples/pashello/pashello.c
index 50c61d48c..731bd7e37 100644
--- a/apps/examples/pashello/pashello.c
+++ b/apps/examples/pashello/pashello.c
@@ -45,6 +45,8 @@
#include <apps/interpreters/prun.h>
+#include "pashello.h"
+
/****************************************************************************
* Definitions
****************************************************************************/
diff --git a/nuttx/binfmt/Kconfig b/nuttx/binfmt/Kconfig
index 17a42cb5c..aaf296c5b 100644
--- a/nuttx/binfmt/Kconfig
+++ b/nuttx/binfmt/Kconfig
@@ -52,6 +52,7 @@ endif
config BUILTIN
bool "Support Builtin Applications"
default n
+ depends on !NUTTX_KERNEL || EXPERIMENTAL
---help---
Enable support for builtin applications. This features assigns a string
name to an application and in addition if FS_BINFS is defined, retaining
@@ -59,6 +60,11 @@ config BUILTIN
is also the underlying requirement to support built-in applications in the
NuttShell (NSH).
+ ISSUES: This feature is highly coupled with logic in the apps/subdirectory
+ and, as a consequence, cannot be used in environments that do not
+ include the standard NuttX apps/ nor in build configurations using
+ NUTTX_KERNEL.
+
if BUILTIN
source binfmt/libbuiltin/Kconfig
endif
@@ -78,6 +84,11 @@ config PCODE
in the misc/pascal directory for more details. The correct
installation director is: apps/interpreters.
+ ISSUES: This feature is highly coupled with logic in the apps/subdirectory
+ and, as a consequence, cannot be used in environments that do not
+ include the standard NuttX apps/ nor in build configurations using
+ NUTTX_KERNEL.
+
if PCODE
source binfmt/libpcode/Kconfig
endif
diff --git a/nuttx/binfmt/pcode.c b/nuttx/binfmt/pcode.c
index 3c816b212..261042c8d 100644
--- a/nuttx/binfmt/pcode.c
+++ b/nuttx/binfmt/pcode.c
@@ -236,7 +236,8 @@ static void pcode_onexit(int exitcode, FAR void *arg)
* Description:
* This is the proxy program that runs and starts the P-Code interpreter.
*
- * REVISIT: There are issues here when CONFIG_NUTTX_KERNEL is selected.
+ * REVISIT: There are issues here when CONFIG_NUTTX_KERNEL is selected. Also
+ * This implementation is too highly couple to logic in the apps/ directory.
*
****************************************************************************/
diff --git a/nuttx/configs/sim/pashello/defconfig b/nuttx/configs/sim/pashello/defconfig
index 3cbaa445d..a372ee66c 100644
--- a/nuttx/configs/sim/pashello/defconfig
+++ b/nuttx/configs/sim/pashello/defconfig
@@ -26,6 +26,7 @@ CONFIG_HOST_LINUX=y
# CONFIG_INTELHEX_BINARY is not set
# CONFIG_MOTOROLA_SREC is not set
# CONFIG_RAW_BINARY is not set
+# CONFIG_UBOOT_UIMAGE is not set
#
# Customize Header Files
@@ -81,6 +82,7 @@ CONFIG_ARCH="sim"
# CONFIG_ARCH_HAVE_VFORK is not set
# CONFIG_ARCH_HAVE_MMU is not set
# CONFIG_ARCH_NAND_HWECC is not set
+# CONFIG_ARCH_HAVE_EXTCLK is not set
# CONFIG_ARCH_STACKDUMP is not set
# CONFIG_ENDIAN_BIG is not set
# CONFIG_ARCH_IDLE_CUSTOM is not set
@@ -133,36 +135,70 @@ CONFIG_ARCH_BOARD="sim"
#
# RTOS Features
#
-# CONFIG_BOARD_INITIALIZE is not set
+CONFIG_DISABLE_OS_API=y
+# CONFIG_DISABLE_CLOCK is not set
+# CONFIG_DISABLE_POSIX_TIMERS is not set
+# CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_DISABLE_SIGNALS is not set
+# CONFIG_DISABLE_MQUEUE is not set
+# CONFIG_DISABLE_ENVIRON is not set
+
+#
+# Clocks and Timers
+#
CONFIG_MSEC_PER_TICK=10
# CONFIG_SYSTEM_TIME64 is not set
-CONFIG_RR_INTERVAL=0
-# CONFIG_SCHED_CPULOAD is not set
-# CONFIG_SCHED_INSTRUMENTATION is not set
-CONFIG_TASK_NAME_SIZE=32
-# CONFIG_SCHED_HAVE_PARENT is not set
+# CONFIG_CLOCK_MONOTONIC is not set
# CONFIG_JULIAN_TIME is not set
CONFIG_START_YEAR=2007
CONFIG_START_MONTH=2
CONFIG_START_DAY=27
-CONFIG_DEV_CONSOLE=y
+CONFIG_MAX_WDOGPARMS=4
+CONFIG_PREALLOC_WDOGS=32
+CONFIG_PREALLOC_TIMERS=8
+
+#
+# Tasks and Scheduling
+#
+CONFIG_USER_ENTRYPOINT="pashello_main"
+CONFIG_RR_INTERVAL=0
+CONFIG_TASK_NAME_SIZE=32
+CONFIG_MAX_TASK_ARGS=4
+CONFIG_MAX_TASKS=64
+# CONFIG_SCHED_HAVE_PARENT is not set
+# CONFIG_SCHED_WAITPID is not set
+
+#
+# Pthread Options
+#
# CONFIG_MUTEX_TYPES is not set
-# CONFIG_PRIORITY_INHERITANCE is not set
+CONFIG_NPTHREAD_KEYS=4
+
+#
+# Performance Monitoring
+#
+# CONFIG_SCHED_CPULOAD is not set
+# CONFIG_SCHED_INSTRUMENTATION is not set
+
+#
+# Files and I/O
+#
+CONFIG_DEV_CONSOLE=y
# CONFIG_FDCLONE_DISABLE is not set
# CONFIG_FDCLONE_STDIO is not set
CONFIG_SDCLONE_DISABLE=y
-# CONFIG_SCHED_WAITPID is not set
+CONFIG_NFILE_DESCRIPTORS=32
+CONFIG_NFILE_STREAMS=16
+CONFIG_NAME_MAX=32
+# CONFIG_PRIORITY_INHERITANCE is not set
+
+#
+# RTOS hooks
+#
+# CONFIG_BOARD_INITIALIZE is not set
# CONFIG_SCHED_STARTHOOK is not set
# CONFIG_SCHED_ATEXIT is not set
# CONFIG_SCHED_ONEXIT is not set
-CONFIG_USER_ENTRYPOINT="pashello_main"
-CONFIG_DISABLE_OS_API=y
-# CONFIG_DISABLE_CLOCK is not set
-# CONFIG_DISABLE_POSIX_TIMERS is not set
-# CONFIG_DISABLE_PTHREAD is not set
-# CONFIG_DISABLE_SIGNALS is not set
-# CONFIG_DISABLE_MQUEUE is not set
-# CONFIG_DISABLE_ENVIRON is not set
#
# Signal Numbers
@@ -173,19 +209,10 @@ CONFIG_SIG_SIGALARM=3
CONFIG_SIG_SIGCONDTIMEDOUT=16
#
-# Sizes of configurable things (0 disables)
+# POSIX Message Queue Options
#
-CONFIG_MAX_TASKS=64
-CONFIG_MAX_TASK_ARGS=4
-CONFIG_NPTHREAD_KEYS=4
-CONFIG_NFILE_DESCRIPTORS=32
-CONFIG_NFILE_STREAMS=16
-CONFIG_NAME_MAX=32
CONFIG_PREALLOC_MQ_MSGS=32
CONFIG_MQ_MAXMSGSIZE=32
-CONFIG_MAX_WDOGPARMS=4
-CONFIG_PREALLOC_WDOGS=32
-CONFIG_PREALLOC_TIMERS=8
#
# Stack and heap information
@@ -212,6 +239,7 @@ CONFIG_DEV_NULL=y
# CONFIG_I2S is not set
# CONFIG_RTC is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_TIMER is not set
# CONFIG_ANALOG is not set
# CONFIG_AUDIO_DEVICES is not set
# CONFIG_VIDEO_DEVICES is not set
@@ -332,6 +360,7 @@ CONFIG_MM_REGIONS=1
# CONFIG_NXFLAT is not set
# CONFIG_ELF is not set
# CONFIG_BUILTIN is not set
+# CONFIG_PCODE is not set
# CONFIG_PIC is not set
# CONFIG_SYMTAB_ORDEREDBYNAME is not set
@@ -391,6 +420,7 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_EXAMPLES_BUTTONS is not set
# CONFIG_EXAMPLES_CAN is not set
# CONFIG_EXAMPLES_CONFIGDATA is not set
+# CONFIG_EXAMPLES_CPUHOG is not set
# CONFIG_EXAMPLES_DHCPD is not set
# CONFIG_EXAMPLES_ELF is not set
# CONFIG_EXAMPLES_FTPC is not set
@@ -401,7 +431,6 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# 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_MODBUS is not set
# CONFIG_EXAMPLES_MOUNT is not set
@@ -418,6 +447,8 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_EXAMPLES_NXTEXT is not set
# CONFIG_EXAMPLES_OSTEST is not set
CONFIG_EXAMPLES_PASHELLO=y
+CONFIG_EXAMPLES_PASHELLO_VARSTACKSIZE=1024
+CONFIG_EXAMPLES_PASHELLO_STRSTACKSIZE=128
# CONFIG_EXAMPLES_PIPE is not set
# CONFIG_EXAMPLES_POLL is not set
# CONFIG_EXAMPLES_POSIXSPAWN is not set
@@ -425,6 +456,8 @@ CONFIG_EXAMPLES_PASHELLO=y
# 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
# CONFIG_EXAMPLES_SERLOOP is not set
# CONFIG_EXAMPLES_SLCD is not set
# CONFIG_EXAMPLES_SMART is not set
@@ -493,35 +526,32 @@ CONFIG_INTERPRETERS_PRUN=y
#
#
-# USB CDC/ACM Device Commands
-#
-
-#
-# USB Composite Device Commands
+# Custom Free Memory Command
#
+# CONFIG_SYSTEM_FREE is not set
#
-# Custom Free Memory Command
+# EMACS-like Command Line Editor
#
-# CONFIG_SYSTEM_FREE is not set
+# CONFIG_SYSTEM_CLE is not set
#
-# I2C tool
+# FLASH Program Installation
#
+# CONFIG_SYSTEM_INSTALL is not set
#
-# INI File Parser
+# FLASH Erase-all Command
#
-# CONFIG_SYSTEM_INIFILE is not set
#
-# FLASH Program Installation
+# I2C tool
#
-# CONFIG_SYSTEM_INSTALL is not set
#
-# FLASH Erase-all Command
+# INI File Parser
#
+# CONFIG_SYSTEM_INIFILE is not set
#
# NxPlayer media player library / command Line
@@ -559,21 +589,20 @@ CONFIG_INTERPRETERS_PRUN=y
# CONFIG_SYSTEM_SYSINFO is not set
#
-# USB Monitor
+# VI Work-Alike Editor
#
+# CONFIG_SYSTEM_VI is not set
#
-# EMACS-like Command Line Editor
+# Stack Monitor
#
-# CONFIG_SYSTEM_CLE is not set
#
-# VI Work-Alike Editor
+# USB CDC/ACM Device Commands
#
-# CONFIG_SYSTEM_VI is not set
#
-# Stack Monitor
+# USB Composite Device Commands
#
#
@@ -581,6 +610,10 @@ CONFIG_INTERPRETERS_PRUN=y
#
#
+# USB Monitor
+#
+
+#
# Zmodem Commands
#
# CONFIG_SYSTEM_ZMODEM is not set