From 506452c6fa4b7d408da0d332100f43a3102168ab Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 10 Mar 2011 14:42:28 +0000 Subject: add apps/ dir git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3360 42af7a65-404d-4744-a932-0658087f49c3 --- apps/README | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 apps/README (limited to 'apps/README') 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_=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= + +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_ + ... + +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. -- cgit v1.2.3