From d3c0c8cecb950edc2f3ecf5e71336acc1a47c35a Mon Sep 17 00:00:00 2001
From: patacongo
Date: Sun, 6 Jan 2013 17:00:08 +0000
Subject: [PATCH] Remove CONFIG_BUILTIN_APPS_START
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5482 42af7a65-404d-4744-a932-0658087f49c3
---
ChangeLog | 5 +++++
Documentation/NuttShell.html | 25 +++----------------------
sched/os_bringup.c | 22 ++--------------------
3 files changed, 10 insertions(+), 42 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b278004198..f4f6975637 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
+
+
diff --git a/Documentation/NuttShell.html b/Documentation/NuttShell.html
index 7ad96da79b..95a75b22c5 100644
--- a/Documentation/NuttShell.html
+++ b/Documentation/NuttShell.html
@@ -3421,29 +3421,10 @@ context:
Other Uses of Built-In Application.
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.
- -
-
- Built-In Application Start-Up main()
function.
- 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:
-
-
-CONFIG_BUILTIN_APP_START=<application name>
-
-
- that application will be invoked immediately after system starts instead of the default CONFIG_USER_ENTRYPOINT
() entry point.
- Note that <application name>
must be provided just as it would have been on the NSH command line.
- For example, hello
would result in hello_main()
being started at power-up.
-
-
- 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 CONFIG_BUILTIN_APP_START
in this way will bypass NSH and execute your application just as if it were entered from the NSH command line.
-
-
-
binfs.
binfs is a tiny file system located at apps/builtin/binfs.c
.
@@ -3452,7 +3433,8 @@ CONFIG_BUILTIN_APP_START=<application name>
binfs will create a tiny pseudo-file system mounted at /bin
.
Using binfs, you can see the available builtin applications by listing the contents of /bin
directory.
This gives some superficial Unix compatibility, but does not really add any new functionality.
-
+
+
4.3.2 Synchronous Built-In Applications
@@ -3770,7 +3752,6 @@ mount -t vfat /dev/ram1 /tmp
Command summaries
Command table
Conditional command execution
- CONFIG_BUILTIN_APP_START
CONFIG_DISABLE_MOUNTPOINT
CONFIG_FS_ROMFS
CONFIG_NFILE_DESCRIPTORS
diff --git a/sched/os_bringup.c b/sched/os_bringup.c
index 4b5adcae1a..610d8515a6 100644
--- a/sched/os_bringup.c
+++ b/sched/os_bringup.c
@@ -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. */