Remove CONFIG_BUILTIN_APPS_START

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5482 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2013-01-06 17:00:08 +00:00
parent 226d3e404f
commit d3c0c8cecb
3 changed files with 10 additions and 42 deletions

View File

@ -3875,3 +3875,8 @@
definitions (from Rommel Marcelo).
* libc/string/lib_strndup.c: strndup() should use strnlen(), not
strlen(), to determine the size of the string.
* sched/os_bringup.c: Remove support for CONFIG_BUILTIN_APP_START.
This is not really a useful feature and creates a violation of the
OS layered architecture.

View File

@ -3421,29 +3421,10 @@ context:
<p>
<b>Other Uses of Built-In Application.</b>
The primary purpose of builtin applications is to support command line execution of applications from NSH.
However, there are two other uses of builtin applications that should be mentioned.
However, there is one other use of builtin applications that should be mentioned.
</p>
<ol>
<li>
<p>
<b>Built-In Application Start-Up <code>main()</code> function</b>.
A builtin application can even be used as the main, start-up entry point into your embedded software.
When the user defines this option in the NuttX configuration file:
</p>
<ul><pre>
CONFIG_BUILTIN_APP_START=&lt;application name&gt;
</pre></ul>
<p>
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>
<p>
This option might be useful in some develop environments where you use NSH only during the debug phase, but want to eliminate NSH in the final product.
Setting <code>CONFIG_BUILTIN_APP_START</code> in this way will bypass NSH and execute your application just as if it were entered from the NSH command line.
</p>
<li>
<p><b><i>binfs</i></b>.
<i>binfs</i> is a tiny file system located at <code>apps/builtin/binfs.c</code>.
@ -3452,7 +3433,8 @@ CONFIG_BUILTIN_APP_START=&lt;application name&gt;
<i>binfs</i> will create a tiny pseudo-file system mounted at <code>/bin</code>.
Using <i>binfs</i>, you can see the available builtin applications by listing the contents of <code>/bin</code> directory.
This gives some superficial Unix compatibility, but does not really add any new functionality.
</p>
</p>
</li>
</ol>
<h3>4.3.2 Synchronous Built-In Applications</h3>
@ -3770,7 +3752,6 @@ mount -t vfat /dev/ram1 /tmp
<li><a href="#commands">Command summaries</a></li>
<li><a href="#custoncmds">Command table</a></li>
<li><a href="#conditional">Conditional command execution</a></li>
<li><a href="#custapps"><code>CONFIG_BUILTIN_APP_START</code></a></li>
<li><a href="#custinit"><code>CONFIG_DISABLE_MOUNTPOINT</code></a></li>
<li><a href="#custinit"><code>CONFIG_FS_ROMFS</code></a></li>
<li><a href="#custinit"><code>CONFIG_NFILE_DESCRIPTORS</code></a></li>

View File

@ -57,9 +57,6 @@
#ifdef CONFIG_SCHED_WORKQUEUE
# include "work_internal.h"
#endif
#ifdef CONFIG_BUILTIN_APP_START
# include "apps/apps.h"
#endif
#ifdef CONFIG_NUTTX_KERNEL
# include "arch/board/user_map.h"
#endif
@ -112,22 +109,15 @@
* function is to serve as the "bottom half" of device
* drivers.
*
* And the main application entry point. This may be one of two different
* And the main application entry point:
* symbols:
*
* - USER_ENTRYPOINT: This is the default entry point used for all of the
* example code in apps/examples.
* - CONFIG_BUILTIN_APP_START: The system can also be configured to start
* custom applications at however CONFIG_BUILTIN_APP_START
* is defined in the NuttX start-up file.
* - USER_ENTRYPOINT: This is the default user application entry point.
*
****************************************************************************/
int os_bringup(void)
{
#ifdef CONFIG_BUILTIN_APP_START
static const char *argv[3] = {NULL, "init", NULL};
#endif
int init_taskid;
/* Setup up the initial environment for the idle task. At present, this
@ -188,19 +178,11 @@ int os_bringup(void)
svdbg("Starting init thread\n");
#ifdef CONFIG_BUILTIN_APP_START
/* Start the built-in application, passing an "init" argument, so that
* application can distinguish different run-levels
*/
init_taskid = exec_builtin(CONFIG_BUILTIN_APP_START, argv);
#else
/* Start the default application at CONFIG_USER_ENTRYPOINT() */
init_taskid = TASK_CREATE("init", SCHED_PRIORITY_DEFAULT,
CONFIG_USERMAIN_STACKSIZE,
(main_t)CONFIG_USER_ENTRYPOINT, (const char **)NULL);
#endif
ASSERT(init_taskid != ERROR);
/* We an save a few bytes by discarding the IDLE thread's environment. */