Make NX and NXTEXT built-ins; extend stm3210e-eval/nsh2 config to run the NX example from the NX command line

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3791 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-07-16 15:52:15 +00:00
parent b04607bb9e
commit 298db6b143
9 changed files with 59 additions and 8 deletions

View File

@ -72,3 +72,6 @@
6.7 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* apps/examples/nx and nxtext: These examples can now be built as NSH
"built-in" commands.

View File

@ -2,8 +2,8 @@
# apps/Makefile
#
# Copyright (C) 2011 Uros Platise. All rights reserved.
# Author: Uros Platise <uros.platise@isotel.eu>
# Gregory Nutt <spudmonkey@racsa.co.cr>
# Authors: Uros Platise <uros.platise@isotel.eu>
# Gregory Nutt <spudmonkey@racsa.co.cr>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions

View File

@ -41,12 +41,19 @@ SUBDIRS = buttons dhcpd ftpc hello helloxx hidkbd igmp mm mount nettest \
nsh null nx nxffs nxflat nxtext ostest pashello pipe poll rgmp romfs \
sendmail serloop thttpd udp uip usbserial usbstorage wget wlan
# Sub-directories that might need context setup
CNTXTDIRS = nx nxtext
all: nothing
.PHONY: nothing context depend clean distclean
nothing:
context:
@for dir in $(CNTXTDIRS) ; do \
$(MAKE) -C $$dir context TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"; \
done
depend:
@for dir in $(SUBDIRS) ; do \

View File

@ -237,6 +237,8 @@ examples/nx
defined in include/nuttx/nx.h. The following configuration options
can be selected:
CONFIG_EXAMPLES_NX_BUILTIN -- Build the NX example as a "built-in"
that can be executed from the NSH command line
CONFIG_EXAMPLES_NX_VPLANE -- The plane to select from the frame-
buffer driver for use in the test. Default: 0
CONFIG_EXAMPLES_NX_DEVNO - The LCD device to select from the LCD
@ -322,6 +324,8 @@ examples/nxtest
The following configuration options can be selected:
CONFIG_EXAMPLES_NXTEXT_BUILTIN -- Build the NXTEXT example as a "built-in"
that can be executed from the NSH command line
CONFIG_EXAMPLES_NXTEXT_VPLANE -- The plane to select from the frame-
buffer driver for use in the test. Default: 0
CONFIG_EXAMPLES_NXTEXT_DEVNO - The LCD device to select from the LCD

View File

@ -59,12 +59,18 @@ endif
ROOTDEPPATH = --dep-path .
# NX built-in application info
APPNAME = nx
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = 2048
# Common build
VPATH =
all: .built
.PHONY: clean depend distclean
.PHONY: context clean depend distclean
$(AOBJS): %$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
@ -78,7 +84,13 @@ $(COBJS): %$(OBJEXT): %.c
done ; )
@touch .built
context:
.context:
ifeq ($(CONFIG_EXAMPLES_NX_BUILTIN),y)
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
@touch $@
endif
context: .context
.depend: Makefile $(SRCS)
@$(MKDEP) $(ROOTDEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep

View File

@ -610,10 +610,14 @@ static int nxeg_initialize(void)
****************************************************************************/
/****************************************************************************
* Name: user_start
* Name: user_start/nx_main
****************************************************************************/
#ifdef CONFIG_EXAMPLES_NX_BUILTIN
int nx_main(int argc, char **argv)
#else
int user_start(int argc, char *argv[])
#endif
{
NXEGWINDOW hwnd1;
NXEGWINDOW hwnd2;

View File

@ -60,12 +60,18 @@ endif
ROOTDEPPATH = --dep-path .
# NXTEXT built-in application info
APPNAME = nxtext
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = 2048
# Common build
VPATH =
all: .built
.PHONY: clean depend distclean
.PHONY: context clean depend distclean
$(AOBJS): %$(OBJEXT): %.S
$(call ASSEMBLE, $<, $@)
@ -79,7 +85,13 @@ $(COBJS): %$(OBJEXT): %.c
done ; )
@touch .built
context:
.context:
ifeq ($(CONFIG_EXAMPLES_NXTEXT_BUILTIN),y)
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
@touch $@
endif
context: .context
.depend: Makefile $(SRCS)
@$(MKDEP) $(ROOTDEPPATH) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep

View File

@ -339,10 +339,14 @@ static int nxtext_initialize(void)
****************************************************************************/
/****************************************************************************
* Name: user_start
* Name: user_start/nxtext_main
****************************************************************************/
#ifdef CONFIG_EXAMPLES_NXTEXT_BUILTIN
int nxtext_main(int argc, char **argv)
#else
int user_start(int argc, char *argv[])
#endif
{
FAR struct nxtext_state_s *bgstate;
NXWINDOW hwnd = NULL;

View File

@ -841,6 +841,11 @@ NSH-Specific Configuration Settings
The behavior of NSH can be modified with the following settings in
the configs/<board-name>/defconfig file:
* CONFIG_NSH_BUILTIN_APPS
Support external registered, "named" applications that can be
executed from the NSH command line (see apps/README.txt for
more information).
* CONFIG_NSH_FILEIOSIZE
Size of a static I/O buffer used for file access (ignored if
there is no filesystem). Default is 1024.