9
0
Fork 0
nuttx-bb/apps/README

59 lines
2.0 KiB
Plaintext

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>
...