summaryrefslogtreecommitdiff
path: root/apps/README
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-10 14:42:28 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-10 14:42:28 +0000
commit506452c6fa4b7d408da0d332100f43a3102168ab (patch)
treebca4f4b7d50f699ff0c88572958ed38f6d747244 /apps/README
parentebc734d8e40e310bc94bd8321a70ce1b8ef5d5a9 (diff)
downloadnuttx-506452c6fa4b7d408da0d332100f43a3102168ab.tar.gz
nuttx-506452c6fa4b7d408da0d332100f43a3102168ab.tar.bz2
nuttx-506452c6fa4b7d408da0d332100f43a3102168ab.zip
add apps/ dir
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3360 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/README')
-rw-r--r--apps/README62
1 files changed, 62 insertions, 0 deletions
diff --git a/apps/README b/apps/README
new file mode 100644
index 000000000..61129e7d6
--- /dev/null
+++ b/apps/README
@@ -0,0 +1,62 @@
+
+Application Folder
+==================
+
+This folder provides various applications that can be enabled in the .config
+file and further provides frame-work to include external user applications
+from the ../apps directory.
+
+Application entry points with their requirements are gathered together in
+this folder, in two files:
+ - exec_nuttapp_proto.h Entry points, prototype function
+ - exec_nuttapp_list.h Application specific information and requirements
+
+Application information is collected during the make .depend process.
+
+To execute an application function:
+ exec_nuttapp() is defined in the include/nuttx/nuttapp.h
+
+Further, builtin applications may be accessed via pseudo file-system found
+under the nuttx/drivers/sbin directory.
+
+NuttShell provides transparent method of invoking the command, when the
+following option is enabled (regardless of sbin pseudo file system):
+ CONFIG_EXAMPLES_NSH_BUILTIN_APPS=y
+
+To select which application to be included in the build process set your
+preferences the .config file as:
+
+To include applications under the nuttx apps directory:
+ CONFIG_BUILTIN_APPS_NUTTX=y/n
+
+where each application can be controlled as:
+ CONFIG_BUILTIN_APPS_<NAME>=y/n
+
+To include applications under the user ../apps directory:
+ CONFIG_BUILTIN_APPS_USER=y/n
+
+When the user defines an option:
+ CONFIG_BUILTIN_APP_START=<application name>
+
+then after initialization of the NuttX OS it starts this application
+using the exec_nuttapp() method.
+
+Application skeleton can be found under the hello sub-directory,
+which shows how an application can be added to the project. One must
+define:
+ 1. create sub-directory as: appname
+ 2. provide entry point: appname_main()
+ 3. set the requirements in the file: Makefile, specially the lines:
+ APPNAME = appname
+ PRIORITY = SCHED_PRIORITY_DEFAULT
+ STACKSIZE = 768
+ ASRCS = asm source file list as a.asm b.asm ...
+ CSRCS = C source file list as foo1.c foo2.c ..
+
+ 4. add enable/disable option in the top file in this directory as:
+ ifeq CONFIG_BUILTIN_APPS_<NAME>
+ ...
+
+To include user (external) application create an application under
+../apps directory and steps 1. - 3. The last 4. step is not needed, as,
+all applications under ../apps becomes a part of the build process.