411b30916b
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3364 42af7a65-404d-4744-a932-0658087f49c3 |
||
---|---|---|
hello | ||
exec_nuttapp.c | ||
Makefile | ||
README |
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: (NOT IMPLEMENTED YET) 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> ...