summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/ChangeLog4
-rw-r--r--nuttx/Documentation/NuttShell.html10
-rw-r--r--nuttx/Documentation/NuttxPortingGuide.html17
-rw-r--r--nuttx/Documentation/UsbTrace.html8
-rw-r--r--nuttx/configs/README.txt5
-rw-r--r--nuttx/configs/amber/hello/defconfig1
-rwxr-xr-xnuttx/configs/avr32dev1/nsh/defconfig1
-rwxr-xr-xnuttx/configs/avr32dev1/ostest/defconfig1
-rw-r--r--nuttx/configs/c5471evm/httpd/defconfig1
-rw-r--r--nuttx/configs/c5471evm/nettest/defconfig1
-rw-r--r--nuttx/configs/c5471evm/nsh/defconfig1
-rw-r--r--nuttx/configs/c5471evm/ostest/defconfig1
-rw-r--r--nuttx/configs/compal_e88/nsh_highram/defconfig1
-rw-r--r--nuttx/configs/compal_e99/nsh_compalram/defconfig1
-rw-r--r--nuttx/configs/compal_e99/nsh_highram/defconfig1
-rwxr-xr-xnuttx/configs/demo9s12ne64/ostest/defconfig1
-rw-r--r--nuttx/configs/ea3131/nsh/defconfig1
-rw-r--r--nuttx/configs/ea3131/ostest/defconfig1
-rw-r--r--nuttx/configs/ea3131/pgnsh/defconfig1
-rw-r--r--nuttx/configs/ea3131/usbserial/defconfig1
-rw-r--r--nuttx/configs/ea3131/usbstorage/defconfig2
-rw-r--r--nuttx/configs/ea3152/ostest/defconfig1
-rw-r--r--nuttx/configs/eagle100/httpd/defconfig1
-rw-r--r--nuttx/configs/eagle100/nettest/defconfig1
-rw-r--r--nuttx/configs/eagle100/nsh/defconfig1
-rw-r--r--nuttx/configs/eagle100/nxflat/defconfig1
-rw-r--r--nuttx/configs/eagle100/ostest/defconfig1
-rw-r--r--nuttx/configs/eagle100/thttpd/defconfig1
-rw-r--r--nuttx/configs/ekk-lm3s9b96/nsh/defconfig1
-rw-r--r--nuttx/configs/ekk-lm3s9b96/ostest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200kitg/ostest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/dhcpd/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/httpd/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/nettest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/nsh/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/ostest/defconfig1
-rw-r--r--nuttx/configs/ez80f910200zco/poll/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/buttons/defconfig1
-rwxr-xr-xnuttx/configs/hymini-stm32v/nsh/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/nsh2/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/nx/defconfig1
-rw-r--r--nuttx/configs/hymini-stm32v/nxlines/defconfig1
-rwxr-xr-xnuttx/configs/hymini-stm32v/usbserial/defconfig1
-rwxr-xr-xnuttx/configs/hymini-stm32v/usbstorage/defconfig2
-rwxr-xr-xnuttx/configs/kwikstik-k40/ostest/defconfig1
-rw-r--r--nuttx/configs/lincoln60/nsh/defconfig1
-rw-r--r--nuttx/configs/lincoln60/ostest/defconfig1
-rw-r--r--nuttx/configs/lm3s6432-s2e/nsh/defconfig1
-rw-r--r--nuttx/configs/lm3s6432-s2e/ostest/defconfig1
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nsh/defconfig1
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nx/defconfig1
-rwxr-xr-xnuttx/configs/lm3s6965-ek/ostest/defconfig1
-rwxr-xr-xnuttx/configs/lm3s8962-ek/nsh/defconfig1
-rwxr-xr-xnuttx/configs/lm3s8962-ek/nx/defconfig1
-rwxr-xr-xnuttx/configs/lm3s8962-ek/ostest/defconfig1
-rw-r--r--nuttx/configs/lpc4330-xplorer/nsh/defconfig1
-rw-r--r--nuttx/configs/lpc4330-xplorer/ostest/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/nsh/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/nx/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/ostest/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig1
-rwxr-xr-xnuttx/configs/lpcxpresso-lpc1768/usbstorage/defconfig2
-rw-r--r--nuttx/configs/m68332evb/defconfig1
-rw-r--r--nuttx/configs/mbed/hidkbd/defconfig1
-rwxr-xr-xnuttx/configs/mbed/nsh/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/composite/defconfig2
-rw-r--r--nuttx/configs/mcu123-lpc214x/nsh/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/ostest/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbserial/defconfig1
-rw-r--r--nuttx/configs/mcu123-lpc214x/usbstorage/defconfig2
-rw-r--r--nuttx/configs/micropendous3/hello/defconfig1
-rw-r--r--nuttx/configs/mirtoo/nsh/defconfig1
-rw-r--r--nuttx/configs/mirtoo/nxffs/defconfig1
-rw-r--r--nuttx/configs/mirtoo/ostest/defconfig1
-rw-r--r--nuttx/configs/mx1ads/ostest/defconfig1
-rwxr-xr-xnuttx/configs/ne64badge/ostest/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/nettest/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/nsh/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/ostest/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/poll/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/thttpd/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/udp/defconfig1
-rw-r--r--nuttx/configs/ntosd-dm320/uip/defconfig1
-rwxr-xr-xnuttx/configs/nucleus2g/nsh/defconfig1
-rwxr-xr-xnuttx/configs/nucleus2g/ostest/defconfig1
-rwxr-xr-xnuttx/configs/nucleus2g/usbserial/defconfig1
-rwxr-xr-xnuttx/configs/nucleus2g/usbstorage/defconfig2
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/ftpc/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/hidkbd/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/nettest/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/nsh/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/nx/defconfig2
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/ostest/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/thttpd/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/usbserial/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/usbstorage/defconfig2
-rwxr-xr-xnuttx/configs/olimex-lpc1766stk/wlan/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc2378/nsh/defconfig1
-rwxr-xr-xnuttx/configs/olimex-lpc2378/ostest/defconfig1
-rw-r--r--nuttx/configs/olimex-stm32-p107/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-stm32-p107/ostest/defconfig1
-rwxr-xr-xnuttx/configs/olimex-strp711/nettest/defconfig1
-rw-r--r--nuttx/configs/olimex-strp711/nsh/defconfig1
-rw-r--r--nuttx/configs/olimex-strp711/ostest/defconfig1
-rw-r--r--nuttx/configs/pcblogic-pic32mx/nsh/defconfig1
-rw-r--r--nuttx/configs/pcblogic-pic32mx/ostest/defconfig1
-rw-r--r--nuttx/configs/pic32-starterkit/nsh/defconfig1
-rw-r--r--nuttx/configs/pic32-starterkit/nsh2/defconfig2
-rw-r--r--nuttx/configs/pic32-starterkit/ostest/defconfig2
-rw-r--r--nuttx/configs/pic32mx7mmb/nsh/defconfig1
-rw-r--r--nuttx/configs/pic32mx7mmb/ostest/defconfig2
-rw-r--r--nuttx/configs/pjrc-8051/defconfig1
-rw-r--r--nuttx/configs/qemu-i486/nsh/defconfig1
-rw-r--r--nuttx/configs/qemu-i486/ostest/defconfig1
-rw-r--r--nuttx/configs/rgmp/arm/default/defconfig1
-rw-r--r--nuttx/configs/rgmp/arm/nsh/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/default/defconfig1
-rw-r--r--nuttx/configs/rgmp/x86/nsh/defconfig1
-rwxr-xr-xnuttx/configs/sam3u-ek/knsh/defconfig1
-rwxr-xr-xnuttx/configs/sam3u-ek/nsh/defconfig1
-rwxr-xr-xnuttx/configs/sam3u-ek/nx/defconfig1
-rwxr-xr-xnuttx/configs/sam3u-ek/ostest/defconfig1
-rwxr-xr-xnuttx/configs/sam3u-ek/touchscreen/defconfig1
-rw-r--r--nuttx/configs/sim/mount/defconfig1
-rw-r--r--nuttx/configs/sim/nettest/defconfig1
-rw-r--r--nuttx/configs/sim/nsh/defconfig1
-rw-r--r--nuttx/configs/sim/nsh2/defconfig1
-rw-r--r--nuttx/configs/sim/nx/defconfig1
-rw-r--r--nuttx/configs/sim/nx11/defconfig1
-rw-r--r--nuttx/configs/sim/nxffs/defconfig1
-rw-r--r--nuttx/configs/sim/nxwm/defconfig1
-rw-r--r--nuttx/configs/sim/ostest/defconfig1
-rw-r--r--nuttx/configs/sim/pashello/defconfig1
-rw-r--r--nuttx/configs/sim/touchscreen/defconfig1
-rw-r--r--nuttx/configs/skp16c26/ostest/defconfig1
-rwxr-xr-xnuttx/configs/stm3210e-eval/RIDE/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/buttons/defconfig1
-rwxr-xr-xnuttx/configs/stm3210e-eval/composite/defconfig2
-rwxr-xr-xnuttx/configs/stm3210e-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nx/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nxconsole/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nxlines/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/nxtext/defconfig1
-rwxr-xr-xnuttx/configs/stm3210e-eval/ostest/defconfig1
-rw-r--r--nuttx/configs/stm3210e-eval/pm/defconfig1
-rwxr-xr-xnuttx/configs/stm3210e-eval/usbserial/defconfig1
-rwxr-xr-xnuttx/configs/stm3210e-eval/usbstorage/defconfig2
-rw-r--r--nuttx/configs/stm3220g-eval/dhcpd/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nettest/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/nxwm/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/ostest/defconfig1
-rw-r--r--nuttx/configs/stm3220g-eval/telnetd/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/dhcpd/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nettest/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nsh/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nsh2/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nxconsole/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/nxwm/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/ostest/defconfig1
-rw-r--r--nuttx/configs/stm3240g-eval/telnetd/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/nsh/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/nxlines/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/ostest/defconfig1
-rw-r--r--nuttx/configs/stm32f4discovery/pm/defconfig1
-rw-r--r--nuttx/configs/sure-pic32mx/nsh/defconfig1
-rw-r--r--nuttx/configs/sure-pic32mx/ostest/defconfig1
-rw-r--r--nuttx/configs/sure-pic32mx/usbnsh/defconfig1
-rw-r--r--nuttx/configs/teensy/hello/defconfig1
-rwxr-xr-xnuttx/configs/teensy/nsh/defconfig1
-rwxr-xr-xnuttx/configs/teensy/usbstorage/defconfig2
-rw-r--r--nuttx/configs/twr-k60n512/nsh/defconfig1
-rw-r--r--nuttx/configs/twr-k60n512/ostest/defconfig1
-rw-r--r--nuttx/configs/ubw32/nsh/defconfig1
-rw-r--r--nuttx/configs/ubw32/ostest/defconfig1
-rw-r--r--nuttx/configs/us7032evb1/nsh/defconfig1
-rw-r--r--nuttx/configs/us7032evb1/ostest/defconfig1
-rwxr-xr-xnuttx/configs/vsn/nsh/defconfig1
-rw-r--r--nuttx/configs/xtrs/nsh/defconfig1
-rw-r--r--nuttx/configs/xtrs/ostest/defconfig1
-rw-r--r--nuttx/configs/xtrs/pashello/defconfig1
-rw-r--r--nuttx/configs/z16f2800100zcog/ostest/defconfig1
-rw-r--r--nuttx/configs/z16f2800100zcog/pashello/defconfig1
-rw-r--r--nuttx/configs/z80sim/nsh/defconfig1
-rw-r--r--nuttx/configs/z80sim/ostest/defconfig1
-rw-r--r--nuttx/configs/z80sim/pashello/defconfig1
-rw-r--r--nuttx/configs/z8encore000zco/ostest/defconfig1
-rw-r--r--nuttx/configs/z8f64200100kit/ostest/defconfig1
-rw-r--r--nuttx/include/assert.h4
-rw-r--r--nuttx/include/nuttx/init.h2
-rw-r--r--nuttx/sched/Kconfig8
-rw-r--r--nuttx/sched/os_bringup.c10
-rw-r--r--nuttx/tools/Config.mk9
-rw-r--r--nuttx/tools/cfgparser.c149
-rw-r--r--nuttx/tools/mkconfig.c8
199 files changed, 401 insertions, 34 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index d628fffbb..9cf8f14be 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3221,3 +3221,7 @@
common configurations and in configs/*/README.txt for board and MCU_
specific configurations.
* configs/stm3240g-eval: Add USB host support.
+ * sched/os_bring.c, configs/*/defconfig, tools/mkconfig.c, and others: Added
+ configuration variable CONFIG_USER_ENTRYPOINT that may be used to change
+ the default entry from user_start to some other symbol. Contributed by
+ Kate.
diff --git a/nuttx/Documentation/NuttShell.html b/nuttx/Documentation/NuttShell.html
index 2cb4bc9a4..bcf62a5a9 100644
--- a/nuttx/Documentation/NuttShell.html
+++ b/nuttx/Documentation/NuttShell.html
@@ -3066,7 +3066,7 @@ Builtin Apps:
<p>
<code><b>apps/examples/hello</code></b>.
The main routine for apps/examples/hello can be found in <code>apps/examples/hello/main.c</code>.
- When <code>CONFIG_EXAMPLES_HELLO_BUILTIN</code> is defined, this main routine simplifies to:
+ The main routine is:
</p>
<ul><pre>
int hello_main(int argc, char *argv[])
@@ -3165,10 +3165,8 @@ STACKSIZE = 2048
</p>
<ul><pre>
.context:
-ifeq ($(CONFIG_EXAMPLES_HELLO_BUILTIN),y)
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
@touch $@
-endif
</pre></ul>
</ol>
@@ -3189,7 +3187,7 @@ endif
CONFIG_BUILTIN_APP_START=&lt;application name&gt;
</pre></ul>
<p>
- that application will be invoked immediately after system starts instead of the normal, default <code>user_start()</code> entry point.
+ that application will be invoked immediately after system starts instead of the default <code>CONFIG_USER_ENTRYPOINT</code>() entry point.
Note that <code>&lt;application name&gt;</code> must be provided just as it would have been on the NSH command line.
For example, <code>hello</code> would result in <code>hello_main()</code> being started at power-up.
</p>
@@ -3276,8 +3274,8 @@ CONFIGURED_APPS += examples/hello
<p>
You replace the sample code at <code>apps/examples/nsh/nsh_main.c</code> with whatever start-up logic that you want.
NSH is a library at <code>apps/nshlib</code>.
- <code>apps.examplex/nsh</code> is just a tiny, example start-up function (<code>user_start()</code>) that that runs immediately and illustrates how to start NSH
- If you want something else to run immediately then you can write your write your own custom <code>user_start()</code> function and then start other tasks from your custom <code>user_start()</code>.
+ <code>apps.examplex/nsh</code> is just a tiny, example start-up function (<code>CONFIG_USER_ENTRYPOINT</code>()) that that runs immediately and illustrates how to start NSH
+ If you want something else to run immediately then you can write your write your own custom <code>CONFIG_USER_ENTRYPOINT</code>() function and then start other tasks from your custom <code>CONFIG_USER_ENTRYPOINT</code>().
</p>
<li>
<p>
diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html
index bfde229ed..532da8c16 100644
--- a/nuttx/Documentation/NuttxPortingGuide.html
+++ b/nuttx/Documentation/NuttxPortingGuide.html
@@ -4085,6 +4085,14 @@ build
<code>CONFIG_SCHED_ONEXIT_MAX</code>: By default if <code>CONFIG_SCHED_ONEXIT</code> is selected, only a single <code>on_exit()</code> function is supported.
That number can be increased by defined this setting to the number that you require.
</li>
+ <li>
+ <code>CONFIG_USER_ENTRYPOINT</code>: The name of the entry point for user
+ applications.
+ For the example applications this is of the form <code>app_main</code>
+ where <code>app</code> is the application name.
+ If not defined, <code>CONFIG_USER_ENTRYPOINT</code> defaults to
+ <code>user_start</code>.
+ </li>
</ul>
<p>
@@ -5792,13 +5800,14 @@ build
<li>
<code>CONFIG_IDLETHREAD_STACKSIZE</code>: The size of the initial stack.
This is the thread that (1) performs the initial boot of the system up
- to the point where user_start() is spawned, and (2) there after is the
- IDLE thread that executes only when there is no other thread ready to
- run.
+ to the point where <code>CONFIG_USER_ENTRYPOINT</code>() is spawned,
+ and (2) there after is the IDLE thread that executes only when there
+ is no other thread ready to run.
</li>
<li>
<code>CONFIG_USERMAIN_STACKSIZE</code>: The size of the stack to allocate
- for the main user thread that begins at the user_start() entry point.
+ for the main user thread that begins at the <code>CONFIG_USER_ENTRYPOINT</code>()
+ entry point.
</li>
<li>
<code>CONFIG_PTHREAD_STACK_MIN</code>: Minimum pthread stack size
diff --git a/nuttx/Documentation/UsbTrace.html b/nuttx/Documentation/UsbTrace.html
index 6d170044f..ec48e260d 100644
--- a/nuttx/Documentation/UsbTrace.html
+++ b/nuttx/Documentation/UsbTrace.html
@@ -150,7 +150,7 @@
</tr>
<tr>
<td align="center">&nbsp;</td>
- <td align="left"><code>user_start: Registering USB serial driver</code></td>
+ <td align="left"><code>usbserial_main: Registering USB serial driver</code></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
@@ -158,7 +158,7 @@
</tr>
<tr>
<td align="center">&nbsp;</td>
- <td align="left"><code>user_start: Successfully registered the serial driver</code></td>
+ <td align="left"><code>usbserial_main: Successfully registered the serial driver</code></td>
</tr>
<tr>
<td align="center">1</td>
@@ -170,11 +170,11 @@
</tr>
<tr>
<td align="center">&nbsp;</td>
- <td align="left"><code>user_start: ERROR: Failed to open /dev/ttyUSB0 for reading: 107</code></td>
+ <td align="left"><code>usbserial_main: ERROR: Failed to open /dev/ttyUSB0 for reading: 107</code></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
- <td align="left"><code>user_start: Not connected. Wait and try again.</code></td>
+ <td align="left"><code>usbserial_main: Not connected. Wait and try again.</code></td>
</tr>
<tr>
<td align="center">3</td>
diff --git a/nuttx/configs/README.txt b/nuttx/configs/README.txt
index 065759ce6..4b68d28bd 100644
--- a/nuttx/configs/README.txt
+++ b/nuttx/configs/README.txt
@@ -268,6 +268,7 @@ defconfig -- This is a configuration file similar to the Linux
by default)
CONFIG_DEBUG_GRAPHICS - enable NX graphics debug output
(disabled by default)
+
CONFIG_ARCH_LOWPUTC - architecture supports low-level, boot
time console output
CONFIG_MM_REGIONS - If the architecture includes multiple
@@ -375,6 +376,10 @@ defconfig -- This is a configuration file similar to the Linux
CONFIG_SCHED_ONEXIT_MAX - By default if CONFIG_SCHED_ONEXIT is selected,
only a single on_exit() function is supported. That number can be
increased by defined this setting to the number that you require.
+ CONFIG_USER_ENTRYPOINT - The name of the entry point for user
+ applications. For the example applications this is of the form 'app_main'
+ where 'app' is the application name. If not defined, CONFIG_USER_ENTRYPOINT
+ defaults to user_start.
System Logging:
CONFIG_SYSLOG enables general system logging support.
diff --git a/nuttx/configs/amber/hello/defconfig b/nuttx/configs/amber/hello/defconfig
index 44aebfe8b..a6b572825 100644
--- a/nuttx/configs/amber/hello/defconfig
+++ b/nuttx/configs/amber/hello/defconfig
@@ -115,6 +115,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="hello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/avr32dev1/nsh/defconfig b/nuttx/configs/avr32dev1/nsh/defconfig
index a5194dbe9..dbb562eae 100755
--- a/nuttx/configs/avr32dev1/nsh/defconfig
+++ b/nuttx/configs/avr32dev1/nsh/defconfig
@@ -141,6 +141,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/avr32dev1/ostest/defconfig b/nuttx/configs/avr32dev1/ostest/defconfig
index 5a0657c6f..6d5aa4d08 100755
--- a/nuttx/configs/avr32dev1/ostest/defconfig
+++ b/nuttx/configs/avr32dev1/ostest/defconfig
@@ -141,6 +141,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/c5471evm/httpd/defconfig b/nuttx/configs/c5471evm/httpd/defconfig
index 37fa5ca7b..6c48506e6 100644
--- a/nuttx/configs/c5471evm/httpd/defconfig
+++ b/nuttx/configs/c5471evm/httpd/defconfig
@@ -91,6 +91,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="uip_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/c5471evm/nettest/defconfig b/nuttx/configs/c5471evm/nettest/defconfig
index fee66d62d..ac1677b8f 100644
--- a/nuttx/configs/c5471evm/nettest/defconfig
+++ b/nuttx/configs/c5471evm/nettest/defconfig
@@ -91,6 +91,7 @@ CONFIG_NET_C5471_BASET10=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/c5471evm/nsh/defconfig b/nuttx/configs/c5471evm/nsh/defconfig
index 1eaca45d6..88db3508e 100644
--- a/nuttx/configs/c5471evm/nsh/defconfig
+++ b/nuttx/configs/c5471evm/nsh/defconfig
@@ -91,6 +91,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/c5471evm/ostest/defconfig b/nuttx/configs/c5471evm/ostest/defconfig
index b1c8c92cd..26ea84264 100644
--- a/nuttx/configs/c5471evm/ostest/defconfig
+++ b/nuttx/configs/c5471evm/ostest/defconfig
@@ -91,6 +91,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/compal_e88/nsh_highram/defconfig b/nuttx/configs/compal_e88/nsh_highram/defconfig
index 6f2aa4c11..f1882aff6 100644
--- a/nuttx/configs/compal_e88/nsh_highram/defconfig
+++ b/nuttx/configs/compal_e88/nsh_highram/defconfig
@@ -93,6 +93,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/compal_e99/nsh_compalram/defconfig b/nuttx/configs/compal_e99/nsh_compalram/defconfig
index edd607d56..d06f685ee 100644
--- a/nuttx/configs/compal_e99/nsh_compalram/defconfig
+++ b/nuttx/configs/compal_e99/nsh_compalram/defconfig
@@ -96,6 +96,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/compal_e99/nsh_highram/defconfig b/nuttx/configs/compal_e99/nsh_highram/defconfig
index 0bc0301de..c221b4e55 100644
--- a/nuttx/configs/compal_e99/nsh_highram/defconfig
+++ b/nuttx/configs/compal_e99/nsh_highram/defconfig
@@ -96,6 +96,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_GRAPHICS=n
CONFIG_DEBUG_VERBOSE=n
diff --git a/nuttx/configs/demo9s12ne64/ostest/defconfig b/nuttx/configs/demo9s12ne64/ostest/defconfig
index 70b6d70b2..fb2b85d0e 100755
--- a/nuttx/configs/demo9s12ne64/ostest/defconfig
+++ b/nuttx/configs/demo9s12ne64/ostest/defconfig
@@ -115,6 +115,7 @@ CONFIG_PASS1_OBJECT=
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ea3131/nsh/defconfig b/nuttx/configs/ea3131/nsh/defconfig
index 3d164f339..0f26f02b0 100644
--- a/nuttx/configs/ea3131/nsh/defconfig
+++ b/nuttx/configs/ea3131/nsh/defconfig
@@ -113,6 +113,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ea3131/ostest/defconfig b/nuttx/configs/ea3131/ostest/defconfig
index 8cbc94f57..7bf95899f 100644
--- a/nuttx/configs/ea3131/ostest/defconfig
+++ b/nuttx/configs/ea3131/ostest/defconfig
@@ -113,6 +113,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ea3131/pgnsh/defconfig b/nuttx/configs/ea3131/pgnsh/defconfig
index 3e6a31f5e..8bb50a4a4 100644
--- a/nuttx/configs/ea3131/pgnsh/defconfig
+++ b/nuttx/configs/ea3131/pgnsh/defconfig
@@ -126,6 +126,7 @@ CONFIG_PASS1_OBJECT=locked.r
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ea3131/usbserial/defconfig b/nuttx/configs/ea3131/usbserial/defconfig
index a3043a262..13adb17ef 100644
--- a/nuttx/configs/ea3131/usbserial/defconfig
+++ b/nuttx/configs/ea3131/usbserial/defconfig
@@ -113,6 +113,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_FS=n
diff --git a/nuttx/configs/ea3131/usbstorage/defconfig b/nuttx/configs/ea3131/usbstorage/defconfig
index c618bf4a8..a350502d2 100644
--- a/nuttx/configs/ea3131/usbstorage/defconfig
+++ b/nuttx/configs/ea3131/usbstorage/defconfig
@@ -113,6 +113,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_FS=n
diff --git a/nuttx/configs/ea3152/ostest/defconfig b/nuttx/configs/ea3152/ostest/defconfig
index 431e215e7..b239db331 100644
--- a/nuttx/configs/ea3152/ostest/defconfig
+++ b/nuttx/configs/ea3152/ostest/defconfig
@@ -113,6 +113,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/httpd/defconfig b/nuttx/configs/eagle100/httpd/defconfig
index 225bafa9f..8c0c4516e 100644
--- a/nuttx/configs/eagle100/httpd/defconfig
+++ b/nuttx/configs/eagle100/httpd/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="uip_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/nettest/defconfig b/nuttx/configs/eagle100/nettest/defconfig
index 898d405b6..e0aa45e2f 100644
--- a/nuttx/configs/eagle100/nettest/defconfig
+++ b/nuttx/configs/eagle100/nettest/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/nsh/defconfig b/nuttx/configs/eagle100/nsh/defconfig
index 47ddc168c..9eedda0a9 100644
--- a/nuttx/configs/eagle100/nsh/defconfig
+++ b/nuttx/configs/eagle100/nsh/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/nxflat/defconfig b/nuttx/configs/eagle100/nxflat/defconfig
index 8d291cb81..fc5e6a230 100644
--- a/nuttx/configs/eagle100/nxflat/defconfig
+++ b/nuttx/configs/eagle100/nxflat/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxflat_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/ostest/defconfig b/nuttx/configs/eagle100/ostest/defconfig
index 74a5afd4d..008b23a45 100644
--- a/nuttx/configs/eagle100/ostest/defconfig
+++ b/nuttx/configs/eagle100/ostest/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/eagle100/thttpd/defconfig b/nuttx/configs/eagle100/thttpd/defconfig
index b2865a2ed..5201bca78 100644
--- a/nuttx/configs/eagle100/thttpd/defconfig
+++ b/nuttx/configs/eagle100/thttpd/defconfig
@@ -120,6 +120,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="thttp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ekk-lm3s9b96/nsh/defconfig b/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
index 4f556d406..6d24f5ac9 100644
--- a/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
+++ b/nuttx/configs/ekk-lm3s9b96/nsh/defconfig
@@ -137,6 +137,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ekk-lm3s9b96/ostest/defconfig b/nuttx/configs/ekk-lm3s9b96/ostest/defconfig
index 21c446697..7de2f33ea 100644
--- a/nuttx/configs/ekk-lm3s9b96/ostest/defconfig
+++ b/nuttx/configs/ekk-lm3s9b96/ostest/defconfig
@@ -137,6 +137,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200kitg/ostest/defconfig b/nuttx/configs/ez80f910200kitg/ostest/defconfig
index 056ab3a1e..5947962bc 100644
--- a/nuttx/configs/ez80f910200kitg/ostest/defconfig
+++ b/nuttx/configs/ez80f910200kitg/ostest/defconfig
@@ -99,6 +99,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/dhcpd/defconfig b/nuttx/configs/ez80f910200zco/dhcpd/defconfig
index dad606ed9..64591ad50 100644
--- a/nuttx/configs/ez80f910200zco/dhcpd/defconfig
+++ b/nuttx/configs/ez80f910200zco/dhcpd/defconfig
@@ -102,6 +102,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="dhcpd_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/httpd/defconfig b/nuttx/configs/ez80f910200zco/httpd/defconfig
index 0902d80b2..bc8c3bb65 100644
--- a/nuttx/configs/ez80f910200zco/httpd/defconfig
+++ b/nuttx/configs/ez80f910200zco/httpd/defconfig
@@ -102,6 +102,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="uip_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/nettest/defconfig b/nuttx/configs/ez80f910200zco/nettest/defconfig
index bd5f02e8b..0a87a96e2 100644
--- a/nuttx/configs/ez80f910200zco/nettest/defconfig
+++ b/nuttx/configs/ez80f910200zco/nettest/defconfig
@@ -102,6 +102,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/nsh/defconfig b/nuttx/configs/ez80f910200zco/nsh/defconfig
index efa02583c..4066d0ea7 100644
--- a/nuttx/configs/ez80f910200zco/nsh/defconfig
+++ b/nuttx/configs/ez80f910200zco/nsh/defconfig
@@ -102,6 +102,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/ostest/defconfig b/nuttx/configs/ez80f910200zco/ostest/defconfig
index c5ffe7b12..11bba8dcf 100644
--- a/nuttx/configs/ez80f910200zco/ostest/defconfig
+++ b/nuttx/configs/ez80f910200zco/ostest/defconfig
@@ -101,6 +101,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ez80f910200zco/poll/defconfig b/nuttx/configs/ez80f910200zco/poll/defconfig
index 1467ed6bb..8ac0dde32 100644
--- a/nuttx/configs/ez80f910200zco/poll/defconfig
+++ b/nuttx/configs/ez80f910200zco/poll/defconfig
@@ -102,6 +102,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="poll_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/hymini-stm32v/buttons/defconfig b/nuttx/configs/hymini-stm32v/buttons/defconfig
index d50ba3697..fe9629ee4 100644
--- a/nuttx/configs/hymini-stm32v/buttons/defconfig
+++ b/nuttx/configs/hymini-stm32v/buttons/defconfig
@@ -175,6 +175,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="buttons_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/hymini-stm32v/nsh/defconfig b/nuttx/configs/hymini-stm32v/nsh/defconfig
index be3ba9640..881e58210 100755
--- a/nuttx/configs/hymini-stm32v/nsh/defconfig
+++ b/nuttx/configs/hymini-stm32v/nsh/defconfig
@@ -173,6 +173,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/hymini-stm32v/nsh2/defconfig b/nuttx/configs/hymini-stm32v/nsh2/defconfig
index b18fd622b..d30924845 100644
--- a/nuttx/configs/hymini-stm32v/nsh2/defconfig
+++ b/nuttx/configs/hymini-stm32v/nsh2/defconfig
@@ -180,6 +180,7 @@ CONFIG_RTC=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_GRAPHICS=y
diff --git a/nuttx/configs/hymini-stm32v/nx/defconfig b/nuttx/configs/hymini-stm32v/nx/defconfig
index 56960f2b4..16940a2a8 100644
--- a/nuttx/configs/hymini-stm32v/nx/defconfig
+++ b/nuttx/configs/hymini-stm32v/nx/defconfig
@@ -173,6 +173,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/hymini-stm32v/nxlines/defconfig b/nuttx/configs/hymini-stm32v/nxlines/defconfig
index 78e409955..9ce18314a 100644
--- a/nuttx/configs/hymini-stm32v/nxlines/defconfig
+++ b/nuttx/configs/hymini-stm32v/nxlines/defconfig
@@ -177,6 +177,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxlines_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/hymini-stm32v/usbserial/defconfig b/nuttx/configs/hymini-stm32v/usbserial/defconfig
index 75b3b2dc9..285fefd9c 100755
--- a/nuttx/configs/hymini-stm32v/usbserial/defconfig
+++ b/nuttx/configs/hymini-stm32v/usbserial/defconfig
@@ -175,6 +175,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_USB=n
diff --git a/nuttx/configs/hymini-stm32v/usbstorage/defconfig b/nuttx/configs/hymini-stm32v/usbstorage/defconfig
index 612b6ca01..129a045c4 100755
--- a/nuttx/configs/hymini-stm32v/usbstorage/defconfig
+++ b/nuttx/configs/hymini-stm32v/usbstorage/defconfig
@@ -174,6 +174,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_FS=n
diff --git a/nuttx/configs/kwikstik-k40/ostest/defconfig b/nuttx/configs/kwikstik-k40/ostest/defconfig
index f91fbc13c..3f26570ce 100755
--- a/nuttx/configs/kwikstik-k40/ostest/defconfig
+++ b/nuttx/configs/kwikstik-k40/ostest/defconfig
@@ -185,6 +185,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lincoln60/nsh/defconfig b/nuttx/configs/lincoln60/nsh/defconfig
index 3821f8a2a..907a86291 100644
--- a/nuttx/configs/lincoln60/nsh/defconfig
+++ b/nuttx/configs/lincoln60/nsh/defconfig
@@ -153,6 +153,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lincoln60/ostest/defconfig b/nuttx/configs/lincoln60/ostest/defconfig
index 40fa5d97d..6d2ad64b7 100644
--- a/nuttx/configs/lincoln60/ostest/defconfig
+++ b/nuttx/configs/lincoln60/ostest/defconfig
@@ -159,6 +159,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s6432-s2e/nsh/defconfig b/nuttx/configs/lm3s6432-s2e/nsh/defconfig
index 4a929623d..bc8f56ba6 100644
--- a/nuttx/configs/lm3s6432-s2e/nsh/defconfig
+++ b/nuttx/configs/lm3s6432-s2e/nsh/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s6432-s2e/ostest/defconfig b/nuttx/configs/lm3s6432-s2e/ostest/defconfig
index 92e77b457..78934fbb2 100644
--- a/nuttx/configs/lm3s6432-s2e/ostest/defconfig
+++ b/nuttx/configs/lm3s6432-s2e/ostest/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s6965-ek/nsh/defconfig b/nuttx/configs/lm3s6965-ek/nsh/defconfig
index 310eab1e8..46df76a3c 100755
--- a/nuttx/configs/lm3s6965-ek/nsh/defconfig
+++ b/nuttx/configs/lm3s6965-ek/nsh/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s6965-ek/nx/defconfig b/nuttx/configs/lm3s6965-ek/nx/defconfig
index a579f4622..bad0fe348 100755
--- a/nuttx/configs/lm3s6965-ek/nx/defconfig
+++ b/nuttx/configs/lm3s6965-ek/nx/defconfig
@@ -141,6 +141,7 @@ CONFIG_SPI_CMDDATA=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s6965-ek/ostest/defconfig b/nuttx/configs/lm3s6965-ek/ostest/defconfig
index 6384936a9..7346d3389 100755
--- a/nuttx/configs/lm3s6965-ek/ostest/defconfig
+++ b/nuttx/configs/lm3s6965-ek/ostest/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s8962-ek/nsh/defconfig b/nuttx/configs/lm3s8962-ek/nsh/defconfig
index 2e1d5056e..bc094bcc6 100755
--- a/nuttx/configs/lm3s8962-ek/nsh/defconfig
+++ b/nuttx/configs/lm3s8962-ek/nsh/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s8962-ek/nx/defconfig b/nuttx/configs/lm3s8962-ek/nx/defconfig
index a918f1c43..6086e264b 100755
--- a/nuttx/configs/lm3s8962-ek/nx/defconfig
+++ b/nuttx/configs/lm3s8962-ek/nx/defconfig
@@ -141,6 +141,7 @@ CONFIG_SPI_CMDDATA=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lm3s8962-ek/ostest/defconfig b/nuttx/configs/lm3s8962-ek/ostest/defconfig
index 757c0192a..2ab568878 100755
--- a/nuttx/configs/lm3s8962-ek/ostest/defconfig
+++ b/nuttx/configs/lm3s8962-ek/ostest/defconfig
@@ -136,6 +136,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpc4330-xplorer/nsh/defconfig b/nuttx/configs/lpc4330-xplorer/nsh/defconfig
index bab387d5d..db3474a4a 100644
--- a/nuttx/configs/lpc4330-xplorer/nsh/defconfig
+++ b/nuttx/configs/lpc4330-xplorer/nsh/defconfig
@@ -195,6 +195,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpc4330-xplorer/ostest/defconfig b/nuttx/configs/lpc4330-xplorer/ostest/defconfig
index 8c48275d2..40af52c5a 100644
--- a/nuttx/configs/lpc4330-xplorer/ostest/defconfig
+++ b/nuttx/configs/lpc4330-xplorer/ostest/defconfig
@@ -193,6 +193,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig b/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
index bd7614b13..681744b6e 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
@@ -158,6 +158,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="dhcpd_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig b/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
index e6248f520..718e07131 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
@@ -161,6 +161,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig b/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
index 15cbe3443..839eb2c9a 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
@@ -162,6 +162,7 @@ CONFIG_SPI_CMDDATA=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/ostest/defconfig b/nuttx/configs/lpcxpresso-lpc1768/ostest/defconfig
index 69da0df72..da6da5948 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/ostest/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/ostest/defconfig
@@ -157,6 +157,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig b/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
index 5e74d0c56..8150d89f6 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
@@ -158,6 +158,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="thttp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/lpcxpresso-lpc1768/usbstorage/defconfig b/nuttx/configs/lpcxpresso-lpc1768/usbstorage/defconfig
index 3595fa59d..8d0f34b44 100755
--- a/nuttx/configs/lpcxpresso-lpc1768/usbstorage/defconfig
+++ b/nuttx/configs/lpcxpresso-lpc1768/usbstorage/defconfig
@@ -157,6 +157,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/m68332evb/defconfig b/nuttx/configs/m68332evb/defconfig
index 326a46c70..79033bcd2 100644
--- a/nuttx/configs/m68332evb/defconfig
+++ b/nuttx/configs/m68332evb/defconfig
@@ -72,6 +72,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mbed/hidkbd/defconfig b/nuttx/configs/mbed/hidkbd/defconfig
index 3bb55142f..4d0a0b0d5 100644
--- a/nuttx/configs/mbed/hidkbd/defconfig
+++ b/nuttx/configs/mbed/hidkbd/defconfig
@@ -157,6 +157,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="hidkbd_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mbed/nsh/defconfig b/nuttx/configs/mbed/nsh/defconfig
index 806e090b9..0d4070293 100755
--- a/nuttx/configs/mbed/nsh/defconfig
+++ b/nuttx/configs/mbed/nsh/defconfig
@@ -153,6 +153,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mcu123-lpc214x/composite/defconfig b/nuttx/configs/mcu123-lpc214x/composite/defconfig
index e032428d5..eae7dc791 100644
--- a/nuttx/configs/mcu123-lpc214x/composite/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/composite/defconfig
@@ -95,6 +95,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="conn_main"
+#CONFIG_USER_ENTRYPOINT="disconn_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mcu123-lpc214x/nsh/defconfig b/nuttx/configs/mcu123-lpc214x/nsh/defconfig
index 9f860295a..62b870f72 100644
--- a/nuttx/configs/mcu123-lpc214x/nsh/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/nsh/defconfig
@@ -95,6 +95,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mcu123-lpc214x/ostest/defconfig b/nuttx/configs/mcu123-lpc214x/ostest/defconfig
index d61ac6754..0a416b7f7 100644
--- a/nuttx/configs/mcu123-lpc214x/ostest/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/ostest/defconfig
@@ -95,6 +95,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
index 3d1b02030..0749c7834 100644
--- a/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/usbserial/defconfig
@@ -95,6 +95,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig
index 4d88c2e78..4b0ce174d 100644
--- a/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig
+++ b/nuttx/configs/mcu123-lpc214x/usbstorage/defconfig
@@ -95,6 +95,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/micropendous3/hello/defconfig b/nuttx/configs/micropendous3/hello/defconfig
index 7a04763fa..a76093424 100644
--- a/nuttx/configs/micropendous3/hello/defconfig
+++ b/nuttx/configs/micropendous3/hello/defconfig
@@ -110,6 +110,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="hello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mirtoo/nsh/defconfig b/nuttx/configs/mirtoo/nsh/defconfig
index 5a8ebbadd..0ee9cc34e 100644
--- a/nuttx/configs/mirtoo/nsh/defconfig
+++ b/nuttx/configs/mirtoo/nsh/defconfig
@@ -168,6 +168,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mirtoo/nxffs/defconfig b/nuttx/configs/mirtoo/nxffs/defconfig
index 6d27574b7..a9dce182b 100644
--- a/nuttx/configs/mirtoo/nxffs/defconfig
+++ b/nuttx/configs/mirtoo/nxffs/defconfig
@@ -168,6 +168,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mirtoo/ostest/defconfig b/nuttx/configs/mirtoo/ostest/defconfig
index 3e759bbac..e830aefa0 100644
--- a/nuttx/configs/mirtoo/ostest/defconfig
+++ b/nuttx/configs/mirtoo/ostest/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/mx1ads/ostest/defconfig b/nuttx/configs/mx1ads/ostest/defconfig
index 18b577a14..668024693 100644
--- a/nuttx/configs/mx1ads/ostest/defconfig
+++ b/nuttx/configs/mx1ads/ostest/defconfig
@@ -101,6 +101,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ne64badge/ostest/defconfig b/nuttx/configs/ne64badge/ostest/defconfig
index 2401f5ea6..709467d83 100755
--- a/nuttx/configs/ne64badge/ostest/defconfig
+++ b/nuttx/configs/ne64badge/ostest/defconfig
@@ -121,6 +121,7 @@ CONFIG_PASS1_OBJECT=
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/nettest/defconfig b/nuttx/configs/ntosd-dm320/nettest/defconfig
index 7ade4f05a..ce80f13cb 100644
--- a/nuttx/configs/ntosd-dm320/nettest/defconfig
+++ b/nuttx/configs/ntosd-dm320/nettest/defconfig
@@ -93,6 +93,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/nsh/defconfig b/nuttx/configs/ntosd-dm320/nsh/defconfig
index 640fa449d..b6116fb2c 100644
--- a/nuttx/configs/ntosd-dm320/nsh/defconfig
+++ b/nuttx/configs/ntosd-dm320/nsh/defconfig
@@ -92,6 +92,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/ostest/defconfig b/nuttx/configs/ntosd-dm320/ostest/defconfig
index d6598a42c..3f59be636 100644
--- a/nuttx/configs/ntosd-dm320/ostest/defconfig
+++ b/nuttx/configs/ntosd-dm320/ostest/defconfig
@@ -93,6 +93,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/poll/defconfig b/nuttx/configs/ntosd-dm320/poll/defconfig
index 3fcdc7a73..ba70d3244 100644
--- a/nuttx/configs/ntosd-dm320/poll/defconfig
+++ b/nuttx/configs/ntosd-dm320/poll/defconfig
@@ -93,6 +93,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="poll_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/thttpd/defconfig b/nuttx/configs/ntosd-dm320/thttpd/defconfig
index d7849310a..27b0097b9 100644
--- a/nuttx/configs/ntosd-dm320/thttpd/defconfig
+++ b/nuttx/configs/ntosd-dm320/thttpd/defconfig
@@ -94,6 +94,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="thttp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/udp/defconfig b/nuttx/configs/ntosd-dm320/udp/defconfig
index 374785334..e1174a13c 100644
--- a/nuttx/configs/ntosd-dm320/udp/defconfig
+++ b/nuttx/configs/ntosd-dm320/udp/defconfig
@@ -93,6 +93,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="udp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ntosd-dm320/uip/defconfig b/nuttx/configs/ntosd-dm320/uip/defconfig
index a3b3eae09..63e21a93e 100644
--- a/nuttx/configs/ntosd-dm320/uip/defconfig
+++ b/nuttx/configs/ntosd-dm320/uip/defconfig
@@ -115,6 +115,7 @@ CONFIG_FDCLONE_DISABLE=n
CONFIG_FDCLONE_STDIO=n
CONFIG_SDCLONE_DISABLE=y
CONFIG_NXFLAT=n
+CONFIG_USER_ENTRYPOINT="uip_main"
#
# The following can be used to disable categories of
diff --git a/nuttx/configs/nucleus2g/nsh/defconfig b/nuttx/configs/nucleus2g/nsh/defconfig
index cd8b148b5..d846e9a0d 100755
--- a/nuttx/configs/nucleus2g/nsh/defconfig
+++ b/nuttx/configs/nucleus2g/nsh/defconfig
@@ -153,6 +153,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/nucleus2g/ostest/defconfig b/nuttx/configs/nucleus2g/ostest/defconfig
index 89d4245ba..194c5d817 100755
--- a/nuttx/configs/nucleus2g/ostest/defconfig
+++ b/nuttx/configs/nucleus2g/ostest/defconfig
@@ -153,6 +153,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/nucleus2g/usbserial/defconfig b/nuttx/configs/nucleus2g/usbserial/defconfig
index d75e01f4d..d3c8bc7dc 100755
--- a/nuttx/configs/nucleus2g/usbserial/defconfig
+++ b/nuttx/configs/nucleus2g/usbserial/defconfig
@@ -153,6 +153,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/nucleus2g/usbstorage/defconfig b/nuttx/configs/nucleus2g/usbstorage/defconfig
index c902909af..2f1f6a369 100755
--- a/nuttx/configs/nucleus2g/usbstorage/defconfig
+++ b/nuttx/configs/nucleus2g/usbstorage/defconfig
@@ -153,6 +153,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig b/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
index a7f4fb6d5..c11d40999 100755
--- a/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/ftpc/defconfig
@@ -163,6 +163,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ftpc_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
index 85333830d..ce40fc25d 100755
--- a/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
@@ -163,6 +163,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="hidkbd_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
index d46de05f4..7c0046b85 100755
--- a/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nettest/defconfig
@@ -163,6 +163,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
index fac5a7039..9bc96d1be 100755
--- a/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nsh/defconfig
@@ -163,6 +163,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/nx/defconfig b/nuttx/configs/olimex-lpc1766stk/nx/defconfig
index be5d1657b..409671377 100755
--- a/nuttx/configs/olimex-lpc1766stk/nx/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/nx/defconfig
@@ -164,7 +164,7 @@ CONFIG_SPI_CMDDATA=n
#
# General OS setup
#
-
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
index bc28760fc..f7b701cc3 100755
--- a/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/ostest/defconfig
@@ -159,6 +159,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
index f72bfd936..6eb34db14 100755
--- a/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
@@ -162,6 +162,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="thttp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
index 6a99e0da9..9690f800f 100755
--- a/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="thttp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
index bd7bab899..ed41b08d0 100755
--- a/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbserial/defconfig
@@ -159,6 +159,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
index 1a94fef66..b01e79a5d 100755
--- a/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/usbstorage/defconfig
@@ -159,6 +159,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc1766stk/wlan/defconfig b/nuttx/configs/olimex-lpc1766stk/wlan/defconfig
index 73a30a7f7..a0e5da662 100755
--- a/nuttx/configs/olimex-lpc1766stk/wlan/defconfig
+++ b/nuttx/configs/olimex-lpc1766stk/wlan/defconfig
@@ -154,6 +154,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="wlan_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-lpc2378/nsh/defconfig b/nuttx/configs/olimex-lpc2378/nsh/defconfig
index c21ddc13a..542492715 100755
--- a/nuttx/configs/olimex-lpc2378/nsh/defconfig
+++ b/nuttx/configs/olimex-lpc2378/nsh/defconfig
@@ -115,6 +115,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
#CONFIG_DEBUG_MM=y
diff --git a/nuttx/configs/olimex-lpc2378/ostest/defconfig b/nuttx/configs/olimex-lpc2378/ostest/defconfig
index 4231d9e85..ef883dfaa 100755
--- a/nuttx/configs/olimex-lpc2378/ostest/defconfig
+++ b/nuttx/configs/olimex-lpc2378/ostest/defconfig
@@ -115,6 +115,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
#CONFIG_DEBUG_MM=y
diff --git a/nuttx/configs/olimex-stm32-p107/nsh/defconfig b/nuttx/configs/olimex-stm32-p107/nsh/defconfig
index 1bfea5ce2..b38fd35a8 100644
--- a/nuttx/configs/olimex-stm32-p107/nsh/defconfig
+++ b/nuttx/configs/olimex-stm32-p107/nsh/defconfig
@@ -210,6 +210,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-stm32-p107/ostest/defconfig b/nuttx/configs/olimex-stm32-p107/ostest/defconfig
index 7d37ffc39..c51b52c14 100644
--- a/nuttx/configs/olimex-stm32-p107/ostest/defconfig
+++ b/nuttx/configs/olimex-stm32-p107/ostest/defconfig
@@ -223,6 +223,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-strp711/nettest/defconfig b/nuttx/configs/olimex-strp711/nettest/defconfig
index 7f05cf2f3..d0df26adf 100755
--- a/nuttx/configs/olimex-strp711/nettest/defconfig
+++ b/nuttx/configs/olimex-strp711/nettest/defconfig
@@ -133,6 +133,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-strp711/nsh/defconfig b/nuttx/configs/olimex-strp711/nsh/defconfig
index 3573e8b2b..84db85567 100644
--- a/nuttx/configs/olimex-strp711/nsh/defconfig
+++ b/nuttx/configs/olimex-strp711/nsh/defconfig
@@ -133,6 +133,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/olimex-strp711/ostest/defconfig b/nuttx/configs/olimex-strp711/ostest/defconfig
index 18f6c953f..cada293a9 100644
--- a/nuttx/configs/olimex-strp711/ostest/defconfig
+++ b/nuttx/configs/olimex-strp711/ostest/defconfig
@@ -133,6 +133,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pcblogic-pic32mx/nsh/defconfig b/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
index 6e30c5b27..e79efc67a 100644
--- a/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
+++ b/nuttx/configs/pcblogic-pic32mx/nsh/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pcblogic-pic32mx/ostest/defconfig b/nuttx/configs/pcblogic-pic32mx/ostest/defconfig
index 82d68e5af..0fe51f08e 100644
--- a/nuttx/configs/pcblogic-pic32mx/ostest/defconfig
+++ b/nuttx/configs/pcblogic-pic32mx/ostest/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pic32-starterkit/nsh/defconfig b/nuttx/configs/pic32-starterkit/nsh/defconfig
index e0843ff87..fe18e1dbd 100644
--- a/nuttx/configs/pic32-starterkit/nsh/defconfig
+++ b/nuttx/configs/pic32-starterkit/nsh/defconfig
@@ -220,6 +220,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
diff --git a/nuttx/configs/pic32-starterkit/nsh2/defconfig b/nuttx/configs/pic32-starterkit/nsh2/defconfig
index 68e22e41d..1879e80da 100644
--- a/nuttx/configs/pic32-starterkit/nsh2/defconfig
+++ b/nuttx/configs/pic32-starterkit/nsh2/defconfig
@@ -220,7 +220,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
-
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pic32-starterkit/ostest/defconfig b/nuttx/configs/pic32-starterkit/ostest/defconfig
index 2b53d9a68..bd1c372ed 100644
--- a/nuttx/configs/pic32-starterkit/ostest/defconfig
+++ b/nuttx/configs/pic32-starterkit/ostest/defconfig
@@ -220,7 +220,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
-
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pic32mx7mmb/nsh/defconfig b/nuttx/configs/pic32mx7mmb/nsh/defconfig
index 48591460c..3a89bca7e 100644
--- a/nuttx/configs/pic32mx7mmb/nsh/defconfig
+++ b/nuttx/configs/pic32mx7mmb/nsh/defconfig
@@ -220,6 +220,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
diff --git a/nuttx/configs/pic32mx7mmb/ostest/defconfig b/nuttx/configs/pic32mx7mmb/ostest/defconfig
index fe6a6f13e..bc307e44a 100644
--- a/nuttx/configs/pic32mx7mmb/ostest/defconfig
+++ b/nuttx/configs/pic32mx7mmb/ostest/defconfig
@@ -220,7 +220,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
-
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/pjrc-8051/defconfig b/nuttx/configs/pjrc-8051/defconfig
index d234bd82d..109bc22a7 100644
--- a/nuttx/configs/pjrc-8051/defconfig
+++ b/nuttx/configs/pjrc-8051/defconfig
@@ -71,6 +71,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/qemu-i486/nsh/defconfig b/nuttx/configs/qemu-i486/nsh/defconfig
index 46fd30058..34475e69a 100644
--- a/nuttx/configs/qemu-i486/nsh/defconfig
+++ b/nuttx/configs/qemu-i486/nsh/defconfig
@@ -119,6 +119,7 @@ CONFIG_UART3_2STOP=0
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/qemu-i486/ostest/defconfig b/nuttx/configs/qemu-i486/ostest/defconfig
index 32f3fcaea..7372d3480 100644
--- a/nuttx/configs/qemu-i486/ostest/defconfig
+++ b/nuttx/configs/qemu-i486/ostest/defconfig
@@ -55,6 +55,7 @@ CONFIG_ARCH_DMA=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/rgmp/arm/default/defconfig b/nuttx/configs/rgmp/arm/default/defconfig
index b39fb5460..017e61500 100644
--- a/nuttx/configs/rgmp/arm/default/defconfig
+++ b/nuttx/configs/rgmp/arm/default/defconfig
@@ -45,6 +45,7 @@ CONFIG_ARCH_BOARD_RGMP=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="rgmp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/rgmp/arm/nsh/defconfig b/nuttx/configs/rgmp/arm/nsh/defconfig
index 67ff5fe93..302d6fd78 100644
--- a/nuttx/configs/rgmp/arm/nsh/defconfig
+++ b/nuttx/configs/rgmp/arm/nsh/defconfig
@@ -45,6 +45,7 @@ CONFIG_ARCH_BOARD_RGMP=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y
diff --git a/nuttx/configs/rgmp/x86/default/defconfig b/nuttx/configs/rgmp/x86/default/defconfig
index ddbd1e51b..27325c2a0 100644
--- a/nuttx/configs/rgmp/x86/default/defconfig
+++ b/nuttx/configs/rgmp/x86/default/defconfig
@@ -45,6 +45,7 @@ CONFIG_ARCH_BOARD_RGMP=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="rgmp_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/rgmp/x86/nsh/defconfig b/nuttx/configs/rgmp/x86/nsh/defconfig
index da8219af3..308915c04 100644
--- a/nuttx/configs/rgmp/x86/nsh/defconfig
+++ b/nuttx/configs/rgmp/x86/nsh/defconfig
@@ -45,6 +45,7 @@ CONFIG_ARCH_BOARD_RGMP=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y
diff --git a/nuttx/configs/sam3u-ek/knsh/defconfig b/nuttx/configs/sam3u-ek/knsh/defconfig
index a4b5d6ed8..07088cf31 100755
--- a/nuttx/configs/sam3u-ek/knsh/defconfig
+++ b/nuttx/configs/sam3u-ek/knsh/defconfig
@@ -157,6 +157,7 @@ CONFIG_PASS1_OBJECT=
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sam3u-ek/nsh/defconfig b/nuttx/configs/sam3u-ek/nsh/defconfig
index 502fa9f5a..51d7a4a3e 100755
--- a/nuttx/configs/sam3u-ek/nsh/defconfig
+++ b/nuttx/configs/sam3u-ek/nsh/defconfig
@@ -144,6 +144,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sam3u-ek/nx/defconfig b/nuttx/configs/sam3u-ek/nx/defconfig
index 60eece368..386225647 100755
--- a/nuttx/configs/sam3u-ek/nx/defconfig
+++ b/nuttx/configs/sam3u-ek/nx/defconfig
@@ -144,6 +144,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sam3u-ek/ostest/defconfig b/nuttx/configs/sam3u-ek/ostest/defconfig
index b223d6bd3..f8b8eb264 100755
--- a/nuttx/configs/sam3u-ek/ostest/defconfig
+++ b/nuttx/configs/sam3u-ek/ostest/defconfig
@@ -145,6 +145,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sam3u-ek/touchscreen/defconfig b/nuttx/configs/sam3u-ek/touchscreen/defconfig
index cd6bf7bcc..b1a33fd86 100755
--- a/nuttx/configs/sam3u-ek/touchscreen/defconfig
+++ b/nuttx/configs/sam3u-ek/touchscreen/defconfig
@@ -151,6 +151,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/mount/defconfig b/nuttx/configs/sim/mount/defconfig
index dfbad63f8..cbd5a9fef 100644
--- a/nuttx/configs/sim/mount/defconfig
+++ b/nuttx/configs/sim/mount/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="mount_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/nettest/defconfig b/nuttx/configs/sim/nettest/defconfig
index 3244a7a56..26d4f4388 100644
--- a/nuttx/configs/sim/nettest/defconfig
+++ b/nuttx/configs/sim/nettest/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/nsh/defconfig b/nuttx/configs/sim/nsh/defconfig
index 28c88bd5f..bbab5615d 100644
--- a/nuttx/configs/sim/nsh/defconfig
+++ b/nuttx/configs/sim/nsh/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/nsh2/defconfig b/nuttx/configs/sim/nsh2/defconfig
index eeb966523..bf14be9e1 100644
--- a/nuttx/configs/sim/nsh2/defconfig
+++ b/nuttx/configs/sim/nsh2/defconfig
@@ -67,6 +67,7 @@ CONFIG_SIM_TOUCHSCREEN=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y
diff --git a/nuttx/configs/sim/nx/defconfig b/nuttx/configs/sim/nx/defconfig
index ae4fde6f0..13159f00e 100644
--- a/nuttx/configs/sim/nx/defconfig
+++ b/nuttx/configs/sim/nx/defconfig
@@ -51,6 +51,7 @@ CONFIG_SIM_FBBPP=8
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/nx11/defconfig b/nuttx/configs/sim/nx11/defconfig
index 0bc9dc1f3..58146ce18 100644
--- a/nuttx/configs/sim/nx11/defconfig
+++ b/nuttx/configs/sim/nx11/defconfig
@@ -58,6 +58,7 @@ CONFIG_SIM_TOUCHSCREEN=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/nxffs/defconfig b/nuttx/configs/sim/nxffs/defconfig
index 40c8e40fd..514f4770b 100644
--- a/nuttx/configs/sim/nxffs/defconfig
+++ b/nuttx/configs/sim/nxffs/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxffs_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y
diff --git a/nuttx/configs/sim/nxwm/defconfig b/nuttx/configs/sim/nxwm/defconfig
index 0a4150ff4..4f7586e85 100644
--- a/nuttx/configs/sim/nxwm/defconfig
+++ b/nuttx/configs/sim/nxwm/defconfig
@@ -67,6 +67,7 @@ CONFIG_SIM_TOUCHSCREEN=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y
diff --git a/nuttx/configs/sim/ostest/defconfig b/nuttx/configs/sim/ostest/defconfig
index 3f7a3b06e..3a814ed78 100644
--- a/nuttx/configs/sim/ostest/defconfig
+++ b/nuttx/configs/sim/ostest/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/pashello/defconfig b/nuttx/configs/sim/pashello/defconfig
index c6c79be09..448b0a159 100644
--- a/nuttx/configs/sim/pashello/defconfig
+++ b/nuttx/configs/sim/pashello/defconfig
@@ -43,6 +43,7 @@ CONFIG_ARCH_BOARD_SIM=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="pashello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sim/touchscreen/defconfig b/nuttx/configs/sim/touchscreen/defconfig
index c0e4f4fc0..3ef555381 100644
--- a/nuttx/configs/sim/touchscreen/defconfig
+++ b/nuttx/configs/sim/touchscreen/defconfig
@@ -58,6 +58,7 @@ CONFIG_SIM_TOUCHSCREEN=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="tc_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/skp16c26/ostest/defconfig b/nuttx/configs/skp16c26/ostest/defconfig
index 2c901e34d..c0ab37c7c 100644
--- a/nuttx/configs/skp16c26/ostest/defconfig
+++ b/nuttx/configs/skp16c26/ostest/defconfig
@@ -98,6 +98,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3210e-eval/RIDE/defconfig b/nuttx/configs/stm3210e-eval/RIDE/defconfig
index e23446ae6..db01c2da5 100755
--- a/nuttx/configs/stm3210e-eval/RIDE/defconfig
+++ b/nuttx/configs/stm3210e-eval/RIDE/defconfig
@@ -178,6 +178,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+#CONFIG_USER_ENTRYPOINT=
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3210e-eval/buttons/defconfig b/nuttx/configs/stm3210e-eval/buttons/defconfig
index a458e7653..8bc0e934e 100644
--- a/nuttx/configs/stm3210e-eval/buttons/defconfig
+++ b/nuttx/configs/stm3210e-eval/buttons/defconfig
@@ -189,6 +189,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="buttons_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3210e-eval/composite/defconfig b/nuttx/configs/stm3210e-eval/composite/defconfig
index 14732772a..6839e15aa 100755
--- a/nuttx/configs/stm3210e-eval/composite/defconfig
+++ b/nuttx/configs/stm3210e-eval/composite/defconfig
@@ -187,6 +187,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="conn_main"
+#CONFIG_USER_ENTRYPOINT="disconn_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_FS=n
diff --git a/nuttx/configs/stm3210e-eval/nsh/defconfig b/nuttx/configs/stm3210e-eval/nsh/defconfig
index aebd41dfc..56d2af420 100755
--- a/nuttx/configs/stm3210e-eval/nsh/defconfig
+++ b/nuttx/configs/stm3210e-eval/nsh/defconfig
@@ -187,6 +187,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3210e-eval/nsh2/defconfig b/nuttx/configs/stm3210e-eval/nsh2/defconfig
index 4ebcba013..93dbef8a3 100644
--- a/nuttx/configs/stm3210e-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3210e-eval/nsh2/defconfig
@@ -230,6 +230,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/nx/defconfig b/nuttx/configs/stm3210e-eval/nx/defconfig
index 3de1ddb76..cee087a6c 100644
--- a/nuttx/configs/stm3210e-eval/nx/defconfig
+++ b/nuttx/configs/stm3210e-eval/nx/defconfig
@@ -187,6 +187,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nx_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/nxconsole/defconfig b/nuttx/configs/stm3210e-eval/nxconsole/defconfig
index 53339ffe6..5af0985e6 100644
--- a/nuttx/configs/stm3210e-eval/nxconsole/defconfig
+++ b/nuttx/configs/stm3210e-eval/nxconsole/defconfig
@@ -187,6 +187,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/nxlines/defconfig b/nuttx/configs/stm3210e-eval/nxlines/defconfig
index 044187ea2..a1e377559 100644
--- a/nuttx/configs/stm3210e-eval/nxlines/defconfig
+++ b/nuttx/configs/stm3210e-eval/nxlines/defconfig
@@ -187,6 +187,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxlines_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/nxtext/defconfig b/nuttx/configs/stm3210e-eval/nxtext/defconfig
index 2739c1ca7..d5669cdd2 100644
--- a/nuttx/configs/stm3210e-eval/nxtext/defconfig
+++ b/nuttx/configs/stm3210e-eval/nxtext/defconfig
@@ -187,6 +187,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxtext_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/ostest/defconfig b/nuttx/configs/stm3210e-eval/ostest/defconfig
index 14a36327f..f9d777ebd 100755
--- a/nuttx/configs/stm3210e-eval/ostest/defconfig
+++ b/nuttx/configs/stm3210e-eval/ostest/defconfig
@@ -199,6 +199,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3210e-eval/pm/defconfig b/nuttx/configs/stm3210e-eval/pm/defconfig
index b6e1c06d4..dc5b27cd5 100644
--- a/nuttx/configs/stm3210e-eval/pm/defconfig
+++ b/nuttx/configs/stm3210e-eval/pm/defconfig
@@ -240,6 +240,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_GRAPHICS=n
diff --git a/nuttx/configs/stm3210e-eval/usbserial/defconfig b/nuttx/configs/stm3210e-eval/usbserial/defconfig
index 4aaf8f411..fef61f6df 100755
--- a/nuttx/configs/stm3210e-eval/usbserial/defconfig
+++ b/nuttx/configs/stm3210e-eval/usbserial/defconfig
@@ -188,6 +188,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="usbserial_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_USB=n
diff --git a/nuttx/configs/stm3210e-eval/usbstorage/defconfig b/nuttx/configs/stm3210e-eval/usbstorage/defconfig
index ff6eed8bd..2ab5ed782 100755
--- a/nuttx/configs/stm3210e-eval/usbstorage/defconfig
+++ b/nuttx/configs/stm3210e-eval/usbstorage/defconfig
@@ -187,6 +187,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_FS=n
diff --git a/nuttx/configs/stm3220g-eval/dhcpd/defconfig b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
index bd0fe8238..d7d3c8aa9 100644
--- a/nuttx/configs/stm3220g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3220g-eval/dhcpd/defconfig
@@ -241,6 +241,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="dhcpd_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/nettest/defconfig b/nuttx/configs/stm3220g-eval/nettest/defconfig
index 9a6d76067..44e9cf7cd 100644
--- a/nuttx/configs/stm3220g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3220g-eval/nettest/defconfig
@@ -241,6 +241,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/nsh/defconfig b/nuttx/configs/stm3220g-eval/nsh/defconfig
index 226c65d26..f40dffeeb 100644
--- a/nuttx/configs/stm3220g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh/defconfig
@@ -264,6 +264,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/nsh2/defconfig b/nuttx/configs/stm3220g-eval/nsh2/defconfig
index 49f92aebe..522840f22 100644
--- a/nuttx/configs/stm3220g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3220g-eval/nsh2/defconfig
@@ -264,6 +264,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/nxwm/defconfig b/nuttx/configs/stm3220g-eval/nxwm/defconfig
index bb5155fe5..f3ef33377 100644
--- a/nuttx/configs/stm3220g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3220g-eval/nxwm/defconfig
@@ -264,6 +264,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/ostest/defconfig b/nuttx/configs/stm3220g-eval/ostest/defconfig
index d141b9c40..35e52507c 100644
--- a/nuttx/configs/stm3220g-eval/ostest/defconfig
+++ b/nuttx/configs/stm3220g-eval/ostest/defconfig
@@ -241,6 +241,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3220g-eval/telnetd/defconfig b/nuttx/configs/stm3220g-eval/telnetd/defconfig
index 90ed21bec..0b3f35077 100644
--- a/nuttx/configs/stm3220g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3220g-eval/telnetd/defconfig
@@ -241,6 +241,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="shell_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/dhcpd/defconfig b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
index 35a7140e4..e79f774df 100644
--- a/nuttx/configs/stm3240g-eval/dhcpd/defconfig
+++ b/nuttx/configs/stm3240g-eval/dhcpd/defconfig
@@ -247,6 +247,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="dhcpd_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/nettest/defconfig b/nuttx/configs/stm3240g-eval/nettest/defconfig
index 54d5f3fa8..d4ba400ce 100644
--- a/nuttx/configs/stm3240g-eval/nettest/defconfig
+++ b/nuttx/configs/stm3240g-eval/nettest/defconfig
@@ -247,6 +247,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nettest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/nsh/defconfig b/nuttx/configs/stm3240g-eval/nsh/defconfig
index 3e27810aa..eab1cef66 100644
--- a/nuttx/configs/stm3240g-eval/nsh/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh/defconfig
@@ -270,6 +270,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/nsh2/defconfig b/nuttx/configs/stm3240g-eval/nsh2/defconfig
index 8e8c0fb8c..b06ae45b7 100644
--- a/nuttx/configs/stm3240g-eval/nsh2/defconfig
+++ b/nuttx/configs/stm3240g-eval/nsh2/defconfig
@@ -271,6 +271,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/nxconsole/defconfig b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
index ec66b3f99..36273579f 100644
--- a/nuttx/configs/stm3240g-eval/nxconsole/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxconsole/defconfig
@@ -270,6 +270,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/nxwm/defconfig b/nuttx/configs/stm3240g-eval/nxwm/defconfig
index 9f93fbf27..2e8bceb10 100644
--- a/nuttx/configs/stm3240g-eval/nxwm/defconfig
+++ b/nuttx/configs/stm3240g-eval/nxwm/defconfig
@@ -270,6 +270,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/ostest/defconfig b/nuttx/configs/stm3240g-eval/ostest/defconfig
index b38005e4d..e4bc6923b 100644
--- a/nuttx/configs/stm3240g-eval/ostest/defconfig
+++ b/nuttx/configs/stm3240g-eval/ostest/defconfig
@@ -246,6 +246,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm3240g-eval/telnetd/defconfig b/nuttx/configs/stm3240g-eval/telnetd/defconfig
index 26686968a..5de905c04 100644
--- a/nuttx/configs/stm3240g-eval/telnetd/defconfig
+++ b/nuttx/configs/stm3240g-eval/telnetd/defconfig
@@ -247,6 +247,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="shell_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm32f4discovery/nsh/defconfig b/nuttx/configs/stm32f4discovery/nsh/defconfig
index 16c9ea649..47e4aeca6 100644
--- a/nuttx/configs/stm32f4discovery/nsh/defconfig
+++ b/nuttx/configs/stm32f4discovery/nsh/defconfig
@@ -244,6 +244,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm32f4discovery/nxlines/defconfig b/nuttx/configs/stm32f4discovery/nxlines/defconfig
index 4c34a26a7..b57d72be1 100644
--- a/nuttx/configs/stm32f4discovery/nxlines/defconfig
+++ b/nuttx/configs/stm32f4discovery/nxlines/defconfig
@@ -244,6 +244,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nxlines_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm32f4discovery/ostest/defconfig b/nuttx/configs/stm32f4discovery/ostest/defconfig
index 094a1c485..0ff024904 100644
--- a/nuttx/configs/stm32f4discovery/ostest/defconfig
+++ b/nuttx/configs/stm32f4discovery/ostest/defconfig
@@ -227,6 +227,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/stm32f4discovery/pm/defconfig b/nuttx/configs/stm32f4discovery/pm/defconfig
index 8d469b4c7..699994947 100644
--- a/nuttx/configs/stm32f4discovery/pm/defconfig
+++ b/nuttx/configs/stm32f4discovery/pm/defconfig
@@ -245,6 +245,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sure-pic32mx/nsh/defconfig b/nuttx/configs/sure-pic32mx/nsh/defconfig
index 41263d4cf..d52bf5509 100644
--- a/nuttx/configs/sure-pic32mx/nsh/defconfig
+++ b/nuttx/configs/sure-pic32mx/nsh/defconfig
@@ -167,6 +167,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
diff --git a/nuttx/configs/sure-pic32mx/ostest/defconfig b/nuttx/configs/sure-pic32mx/ostest/defconfig
index b6d74f4bf..ce09306f0 100644
--- a/nuttx/configs/sure-pic32mx/ostest/defconfig
+++ b/nuttx/configs/sure-pic32mx/ostest/defconfig
@@ -161,6 +161,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/sure-pic32mx/usbnsh/defconfig b/nuttx/configs/sure-pic32mx/usbnsh/defconfig
index a57c85636..76704a121 100644
--- a/nuttx/configs/sure-pic32mx/usbnsh/defconfig
+++ b/nuttx/configs/sure-pic32mx/usbnsh/defconfig
@@ -167,6 +167,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
diff --git a/nuttx/configs/teensy/hello/defconfig b/nuttx/configs/teensy/hello/defconfig
index 9a4bfdc7d..aa6135471 100644
--- a/nuttx/configs/teensy/hello/defconfig
+++ b/nuttx/configs/teensy/hello/defconfig
@@ -110,6 +110,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="hello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/teensy/nsh/defconfig b/nuttx/configs/teensy/nsh/defconfig
index d27d89c52..7108d27fe 100755
--- a/nuttx/configs/teensy/nsh/defconfig
+++ b/nuttx/configs/teensy/nsh/defconfig
@@ -110,6 +110,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/teensy/usbstorage/defconfig b/nuttx/configs/teensy/usbstorage/defconfig
index c736f98d0..87931ee24 100755
--- a/nuttx/configs/teensy/usbstorage/defconfig
+++ b/nuttx/configs/teensy/usbstorage/defconfig
@@ -110,6 +110,8 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="msconn_main"
+#CONFIG_USER_ENTRYPOINT="msdis_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/twr-k60n512/nsh/defconfig b/nuttx/configs/twr-k60n512/nsh/defconfig
index 024390eb7..d5e491dc2 100644
--- a/nuttx/configs/twr-k60n512/nsh/defconfig
+++ b/nuttx/configs/twr-k60n512/nsh/defconfig
@@ -184,6 +184,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/twr-k60n512/ostest/defconfig b/nuttx/configs/twr-k60n512/ostest/defconfig
index fcbb1d790..af92b70b1 100644
--- a/nuttx/configs/twr-k60n512/ostest/defconfig
+++ b/nuttx/configs/twr-k60n512/ostest/defconfig
@@ -184,6 +184,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ubw32/nsh/defconfig b/nuttx/configs/ubw32/nsh/defconfig
index f54a68de1..c198067df 100644
--- a/nuttx/configs/ubw32/nsh/defconfig
+++ b/nuttx/configs/ubw32/nsh/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/ubw32/ostest/defconfig b/nuttx/configs/ubw32/ostest/defconfig
index e9af9b5de..dcbdc88ba 100644
--- a/nuttx/configs/ubw32/ostest/defconfig
+++ b/nuttx/configs/ubw32/ostest/defconfig
@@ -160,6 +160,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/us7032evb1/nsh/defconfig b/nuttx/configs/us7032evb1/nsh/defconfig
index fabf35b1a..f685371cb 100644
--- a/nuttx/configs/us7032evb1/nsh/defconfig
+++ b/nuttx/configs/us7032evb1/nsh/defconfig
@@ -100,6 +100,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/us7032evb1/ostest/defconfig b/nuttx/configs/us7032evb1/ostest/defconfig
index 924efb8a0..8ecf50ea1 100644
--- a/nuttx/configs/us7032evb1/ostest/defconfig
+++ b/nuttx/configs/us7032evb1/ostest/defconfig
@@ -100,6 +100,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/vsn/nsh/defconfig b/nuttx/configs/vsn/nsh/defconfig
index f3f9881f4..5fbf2c799 100755
--- a/nuttx/configs/vsn/nsh/defconfig
+++ b/nuttx/configs/vsn/nsh/defconfig
@@ -227,6 +227,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=y
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/xtrs/nsh/defconfig b/nuttx/configs/xtrs/nsh/defconfig
index 53e99e160..748e766e2 100644
--- a/nuttx/configs/xtrs/nsh/defconfig
+++ b/nuttx/configs/xtrs/nsh/defconfig
@@ -64,6 +64,7 @@ CONFIG_LINKER_ROM_AT_0000=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/xtrs/ostest/defconfig b/nuttx/configs/xtrs/ostest/defconfig
index b5ac8b035..97c0aaaed 100644
--- a/nuttx/configs/xtrs/ostest/defconfig
+++ b/nuttx/configs/xtrs/ostest/defconfig
@@ -64,6 +64,7 @@ CONFIG_LINKER_ROM_AT_0000=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/xtrs/pashello/defconfig b/nuttx/configs/xtrs/pashello/defconfig
index d3f4be187..8ac23069f 100644
--- a/nuttx/configs/xtrs/pashello/defconfig
+++ b/nuttx/configs/xtrs/pashello/defconfig
@@ -64,6 +64,7 @@ CONFIG_LINKER_ROM_AT_0000=y
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="pashello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z16f2800100zcog/ostest/defconfig b/nuttx/configs/z16f2800100zcog/ostest/defconfig
index 751e1805e..24e228a4b 100644
--- a/nuttx/configs/z16f2800100zcog/ostest/defconfig
+++ b/nuttx/configs/z16f2800100zcog/ostest/defconfig
@@ -78,6 +78,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z16f2800100zcog/pashello/defconfig b/nuttx/configs/z16f2800100zcog/pashello/defconfig
index 1fc227556..95cb6f09b 100644
--- a/nuttx/configs/z16f2800100zcog/pashello/defconfig
+++ b/nuttx/configs/z16f2800100zcog/pashello/defconfig
@@ -78,6 +78,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="pashello_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z80sim/nsh/defconfig b/nuttx/configs/z80sim/nsh/defconfig
index f6f46b24a..a91a7a578 100644
--- a/nuttx/configs/z80sim/nsh/defconfig
+++ b/nuttx/configs/z80sim/nsh/defconfig
@@ -60,6 +60,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="nsh_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z80sim/ostest/defconfig b/nuttx/configs/z80sim/ostest/defconfig
index cc070e8fc..a179cacfd 100644
--- a/nuttx/configs/z80sim/ostest/defconfig
+++ b/nuttx/configs/z80sim/ostest/defconfig
@@ -60,6 +60,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z80sim/pashello/defconfig b/nuttx/configs/z80sim/pashello/defconfig
index 2080b2635..d3b961b4a 100644
--- a/nuttx/configs/z80sim/pashello/defconfig
+++ b/nuttx/configs/z80sim/pashello/defconfig
@@ -60,6 +60,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="pashello_main"
CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z8encore000zco/ostest/defconfig b/nuttx/configs/z8encore000zco/ostest/defconfig
index c59b266b2..c19379097 100644
--- a/nuttx/configs/z8encore000zco/ostest/defconfig
+++ b/nuttx/configs/z8encore000zco/ostest/defconfig
@@ -76,6 +76,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/configs/z8f64200100kit/ostest/defconfig b/nuttx/configs/z8f64200100kit/ostest/defconfig
index 841d2e90b..510824723 100644
--- a/nuttx/configs/z8f64200100kit/ostest/defconfig
+++ b/nuttx/configs/z8f64200100kit/ostest/defconfig
@@ -76,6 +76,7 @@ CONFIG_HAVE_LIBM=n
#
# General OS setup
#
+CONFIG_USER_ENTRYPOINT="ostest_main"
CONFIG_DEBUG=y
CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n
diff --git a/nuttx/include/assert.h b/nuttx/include/assert.h
index 89606b6f6..31c9edf48 100644
--- a/nuttx/include/assert.h
+++ b/nuttx/include/assert.h
@@ -91,6 +91,10 @@
#endif
+#ifndef assert
+#define assert ASSERT
+#endif
+
/****************************************************************************
* Included Files
****************************************************************************/
diff --git a/nuttx/include/nuttx/init.h b/nuttx/include/nuttx/init.h
index ecdad702f..2d1b3c693 100644
--- a/nuttx/include/nuttx/init.h
+++ b/nuttx/include/nuttx/init.h
@@ -68,7 +68,7 @@ extern "C" {
/* This entry point must be supplied by the application */
-EXTERN int user_start(int argc, char *argv[]);
+EXTERN int CONFIG_USER_ENTRYPOINT(int argc, char *argv[]);
/* Functions contained in os_task.c *****************************************/
diff --git a/nuttx/sched/Kconfig b/nuttx/sched/Kconfig
index 9d7a38549..37ce0ebd6 100644
--- a/nuttx/sched/Kconfig
+++ b/nuttx/sched/Kconfig
@@ -202,6 +202,14 @@ config SCHED_ONEXIT_MAX
is supported. That number can be increased by defined this setting to the
number that you require.
+config USER_ENTRYPOINT
+ string "Appliation entry point"
+ default "user_start"
+ ---help---
+ The name of the entry point for user applications. For the example
+ applications this is of the form 'app_main' where 'app' is the application
+ name. If not defined, USER_ENTRYPOINT defaults to "user_start."
+
config DISABLE_OS_API
bool "Disable NuttX interfaces"
default y
diff --git a/nuttx/sched/os_bringup.c b/nuttx/sched/os_bringup.c
index 646f49158..d6d943137 100644
--- a/nuttx/sched/os_bringup.c
+++ b/nuttx/sched/os_bringup.c
@@ -71,12 +71,6 @@
* then the default entry point is user_start.
*/
-#if defined(CONFIG_NUTTX_KERNEL) && defined(CONFIG_USER_ENTRYPOINT)
-# define USER_ENTRYPOINT (main_t)CONFIG_USER_ENTRYPOINT
-#else
-# define USER_ENTRYPOINT user_start
-#endif
-
/****************************************************************************
* Private Types
****************************************************************************/
@@ -175,11 +169,11 @@ int os_bringup(void)
init_taskid = exec_namedapp(CONFIG_BUILTIN_APP_START, argv);
#else
- /* Start the default application at USER_ENTRYPOINT() */
+ /* Start the default application at CONFIG_USER_ENTRYPOINT() */
init_taskid = TASK_CREATE("init", SCHED_PRIORITY_DEFAULT,
CONFIG_USERMAIN_STACKSIZE,
- (main_t)USER_ENTRYPOINT, (const char **)NULL);
+ (main_t)CONFIG_USER_ENTRYPOINT, (const char **)NULL);
#endif
ASSERT(init_taskid != ERROR);
return OK;
diff --git a/nuttx/tools/Config.mk b/nuttx/tools/Config.mk
index 004a7e5bd..07d88392e 100644
--- a/nuttx/tools/Config.mk
+++ b/nuttx/tools/Config.mk
@@ -33,6 +33,9 @@
#
############################################################################
-CONFIG_ARCH := $(shell echo $(CONFIG_ARCH))
-CONFIG_ARCH_CHIP := $(shell echo $(CONFIG_ARCH_CHIP))
-CONFIG_ARCH_BOARD := $(shell echo $(CONFIG_ARCH_BOARD))
+# These are configuration variables that are quoted by configuration tool
+# but which must be unquoated when used in the build system.
+
+CONFIG_ARCH := $(patsubst "%",%,$(strip $(CONFIG_ARCH)))
+CONFIG_ARCH_CHIP := $(patsubst "%",%,$(strip $(CONFIG_ARCH_CHIP)))
+CONFIG_ARCH_BOARD := $(patsubst "%",%,$(strip $(CONFIG_ARCH_BOARD)))
diff --git a/nuttx/tools/cfgparser.c b/nuttx/tools/cfgparser.c
index 655fac573..e49b29d5e 100644
--- a/nuttx/tools/cfgparser.c
+++ b/nuttx/tools/cfgparser.c
@@ -52,21 +52,41 @@
char line[LINESIZE+1];
/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+
+/* These are configuration variable name that are quoted by configuration tool
+ * but which must be unquoated when used in C code.
+ */
+
+static const char *dequote_list[] =
+{
+ "CONFIG_USER_ENTRYPOINT",
+ NULL
+};
+
+ /****************************************************************************
* Private Functions
****************************************************************************/
+ /* Skip over any spaces */
+
static char *skip_space(char *ptr)
{
while (*ptr && isspace((int)*ptr)) ptr++;
return ptr;
}
+/* Find the end of a variable string */
+
static char *find_name_end(char *ptr)
{
while (*ptr && (isalnum((int)*ptr) || *ptr == '_')) ptr++;
return ptr;
}
+/* Find the end of a value string */
+
static char *find_value_end(char *ptr)
{
while (*ptr && !isspace((int)*ptr))
@@ -84,6 +104,8 @@ static char *find_value_end(char *ptr)
return ptr;
}
+/* Read the next line from the configuration file */
+
static char *read_line(FILE *stream)
{
char *ptr;
@@ -106,31 +128,127 @@ static char *read_line(FILE *stream)
}
}
+/* Parse the line from the configuration file into a variable name
+ * string and a value string.
+ */
+
static void parse_line(char *ptr, char **varname, char **varval)
{
- *varname = ptr;
+ /* Skip over any leading spaces */
+
+ ptr = skip_space(ptr);
+
+ /* The first no-space is the beginning of the variable name */
+
+ *varname = skip_space(ptr);
*varval = NULL;
- ptr = find_name_end(ptr);
- if (*ptr && *ptr != '=')
+ /* Parse to the end of the variable name */
+
+ ptr = find_name_end(ptr);
+
+ /* An equal sign is expected next, perhaps after some white space */
+
+ if (*ptr && *ptr != '=')
{
+ /* Some else follows the variable name. Terminate the variable
+ * name and skip over any spaces.
+ */
+
*ptr = '\0';
ptr = skip_space(ptr + 1);
}
+ /* Verify that the equal sign is present */
+
if (*ptr == '=')
{
+ /* Make sure that the variable name is terminated (this was already
+ * done if the name was followed by white space.
+ */
+
*ptr = '\0';
+
+ /* The variable value should follow =, perhaps separated by some
+ * white space.
+ */
+
ptr = skip_space(ptr + 1);
if (*ptr)
{
+ /* Yes.. a variable follows. Save the pointer to the start
+ * of the variable string.
+ */
+
*varval = ptr;
+
+ /* Find the end of the variable string and make sure that it
+ * is terminated.
+ */
+
ptr = find_value_end(ptr);
*ptr = '\0';
}
}
}
+static char *dequote_value(const char *varname, char *varval)
+{
+ const char **dqnam;
+ char *dqval = varval;
+ int len;
+
+ if (dqval)
+ {
+ /* Check if the variable name is in the list of strings to be dequoated */
+
+ for (dqnam = dequote_list; *dqnam; dqnam++)
+ {
+ if (strcmp(*dqnam, varname) == 0)
+ {
+ break;
+ }
+ }
+
+ /* Did we find the variable name in the list of configuration variables
+ * to be dequoated?
+ */
+
+ if (*dqnam)
+ {
+ /* Yes... Check if there is a traiing quote */
+
+ len = strlen(dqval);
+ if (dqval[len-1] == '"')
+ {
+ /* Yes... replace it with a terminator */
+
+ dqval[len-1] = '\0';
+ len--;
+ }
+
+ /* Is there a leading quote? */
+
+ if (dqval[0] == '"')
+ {
+ /* Yes.. skip over the leading quote */
+
+ dqval++;
+ len--;
+ }
+
+ /* Handle the case where nothing is left after dequoting */
+
+ if (len < 0)
+ {
+ dqval = NULL;
+ }
+ }
+ }
+
+ return dqval;
+}
+
/****************************************************************************
* Public Functions
****************************************************************************/
@@ -141,22 +259,47 @@ void parse_file(FILE *stream)
char *varval;
char *ptr;
+ /* Loop until the entire file has been parsed. */
+
do
{
+ /* Read the next line from the file */
+
ptr = read_line(stream);
if (ptr)
{
+ /* Parse the line into a variable and a value field */
+
parse_line(ptr, &varname, &varval);
+
+ /* Was a variable name found? */
+
if (varname)
{
+ /* Yes.. dequote the value if necessary */
+
+ varval = dequote_value(varname, varval);
+
+ /* If no value was provided or if the special value 'n' was provided,
+ * then undefine the configuration variable.
+ */
+
if (!varval || strcmp(varval, "n") == 0)
{
printf("#undef %s\n", varname);
}
+
+ /* Simply define the configuration variable if it has the special
+ * value "y"
+ */
+
else if (strcmp(varval, "y") == 0)
{
printf("#define %s 1\n", varname);
}
+
+ /* Otherwise, use the value as provided */
+
else
{
printf("#define %s %s\n", varname, varval);
diff --git a/nuttx/tools/mkconfig.c b/nuttx/tools/mkconfig.c
index b3749266c..2d2fff5c5 100644
--- a/nuttx/tools/mkconfig.c
+++ b/nuttx/tools/mkconfig.c
@@ -44,7 +44,7 @@
#include "cfgparser.h"
/****************************************************************************
- * Definitions
+ * Pre-processor Definitions
****************************************************************************/
#define DEFCONFIG ".config"
@@ -265,6 +265,12 @@ int main(int argc, char **argv, char **envp)
printf("# undef CONFIG_DEBUG_SPI\n");
printf("# undef CONFIG_DEBUG_STACK\n");
printf("#endif\n\n");
+ printf("/* User entry point. This is provided as a fall-back to keep compatibility\n");
+ printf(" * with existing code, for builds which do not define CONFIG_USER_ENTRYPOINT.\n");
+ printf(" */\n\n");
+ printf("#ifndef CONFIG_USER_ENTRYPOINT\n");
+ printf("# define CONFIG_USER_ENTRYPOINT user_start\n");
+ printf("#endif\n\n");
printf("#endif /* __INCLUDE_NUTTX_CONFIG_H */\n");
fclose(stream);
return 0;