configs/sim/nx11: Configuration converted to use the kconfig-frontends tools

This commit is contained in:
Gregory Nutt
2014-03-04 15:56:13 -06:00
parent a32458a237
commit 4f3b8d7ec0
4 changed files with 695 additions and 525 deletions
+2
View File
@@ -6835,3 +6835,5 @@
kconfig-frontends tools (2014-3-4) kconfig-frontends tools (2014-3-4)
* configs/sim/pashello: Configuration converted to use the * configs/sim/pashello: Configuration converted to use the
kconfig-frontends tools (2014-3-4) kconfig-frontends tools (2014-3-4)
* configs/sim/nx11: Configuration converted to use the
kconfig-frontends tools (2014-3-4)
+76 -191
View File
@@ -191,21 +191,45 @@ X11. See the discussion "Stack Size Issues" above.
Configurations Configurations
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
Common Configuration Information
--------------------------------
1. Each configuration is maintained in a sub-directory and can be selected
as follow:
cd <nuttx-directory>/tools
./configure.sh sim/<subdir>
cd -
. ./setenv.sh
If this is a Windows native build, then configure.bat should be used
instead of configure.sh:
configure.bat sim\<subdir>
Where <subdir> is one of the following sub-directories.
2. All configurations uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
Configuration Sub-Directories
-----------------------------
configdata configdata
Description
-----------
A unit test for the MTD configuration data driver. A unit test for the MTD configuration data driver.
cxxtest cxxtest
Description
-----------
The C++ standard libary test at apps/examples/cxxtest configuration. This
test is used to verify the uClibc++ port to NuttX. This configuration may
be selected as follows:
cd <nuttx-directory>/tools The C++ standard libary test at apps/examples/cxxtest configuration. This
./configure.sh sim/cxxtest test is used to verify the uClibc++ port to NuttX.
NOTES NOTES
----- -----
@@ -214,20 +238,11 @@ cxxtest
misc/uClibc++ in GIT. See the README.txt file for instructions on misc/uClibc++ in GIT. See the README.txt file for instructions on
how to install uClibc++ how to install uClibc++
2. This configuration uses the mconf-based configuration tool. To 2. At present (2012/11/02), exceptions are disabled in this example
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
3. At present (2012/11/02), exceptions are disabled in this example
CONFIG_UCLIBCXX_EXCEPTIONS=n). It is probably not necessary to CONFIG_UCLIBCXX_EXCEPTIONS=n). It is probably not necessary to
disable exceptions. disable exceptions.
4. Unfortunately, this example will not run now. 3. Unfortunately, this example will not run now.
The reason that the example will not run on the simulator has The reason that the example will not run on the simulator has
to do with when static constructors are enabled: In the simulator to do with when static constructors are enabled: In the simulator
@@ -240,25 +255,7 @@ cxxtest
mount mount
Description Configures to use apps/examples/mount.
-----------
Configures to use apps/examples/mount. This configuration may be
selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/mount
NOTES
-----
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
mtdpart mtdpart
@@ -267,27 +264,12 @@ mtdpart
nettest nettest
Description
-----------
Configures to use apps/examples/nettest. This configuration Configures to use apps/examples/nettest. This configuration
enables networking using the network TAP device. It may enables networking using the network TAP device.
be selected via:
cd <nuttx-directory>/tools
./configure.sh sim/nettest
NOTES: NOTES:
------
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig mconf tool. See nuttx/README.txt 1. The NuttX network is not, however, functional on the Linux TAP
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. The NuttX network is not, however, functional on the Linux TAP
device yet. device yet.
UPDATE: The TAP device does apparently work according to a NuttX UPDATE: The TAP device does apparently work according to a NuttX
@@ -296,7 +278,7 @@ nettest
waiting from input from the host OS). My failure to get the TAP waiting from input from the host OS). My failure to get the TAP
device working appears to have been a cockpit error. device working appears to have been a cockpit error.
3. As of NuttX-5.18, when built on Windows, this test does not try 2. As of NuttX-5.18, when built on Windows, this test does not try
to use the TAP device (which is not available on Cygwin anyway), to use the TAP device (which is not available on Cygwin anyway),
but inside will try to use the Cygwin WPCAP library. Only the but inside will try to use the Cygwin WPCAP library. Only the
most preliminary testing has been performed with the Cygwin WPCAP most preliminary testing has been performed with the Cygwin WPCAP
@@ -309,29 +291,14 @@ nettest
nsh nsh
Description Configures to use the NuttShell at apps/examples/nsh.
-----------
Configures to use the NuttShell at apps/examples/nsh. This configuration
may be selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/nsh
NOTES: NOTES:
------
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt 1. This version has one builtin function: This configuration:
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. This version has one builtin function: This configuration:
apps/examples/hello. apps/examples/hello.
3. This configuration has BINFS enabled so that the builtin applications 2. This configuration has BINFS enabled so that the builtin applications
can be made visible in the file system. Because of that, the can be made visible in the file system. Because of that, the
build in applications do not work as other examples. build in applications do not work as other examples.
@@ -360,57 +327,35 @@ nsh
nsh2 nsh2
Description
-----------
This is another example that configures to use the NuttShell at apps/examples/nsh. This is another example that configures to use the NuttShell at apps/examples/nsh.
Like nsh, this version uses NSH built-in functions: The nx, nxhello, and Like nsh, this version uses NSH built-in functions: The nx, nxhello, and
nxlines examples are included as built-in functions. nxlines examples are included as built-in functions.
NOTES: NOTES:
------
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt 1. X11 Configuration
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. X11 Configuration
This configuration uses an X11-based framebuffer driver. Of course, this This configuration uses an X11-based framebuffer driver. Of course, this
configuration can only be used in environments that support X11! (And it configuration can only be used in environments that support X11! (And it
may not even be usable in all of those environments without some "tweaking" may not even be usable in all of those environments without some "tweaking"
See discussion below under the nx11 configuration). See discussion below under the nx11 configuration).
3. Configuring
This configuration may be selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/nsh2
nx nx
Description Configures to use apps/examples/nx.
-----------
Configures to use apps/examples/nx. This configuration may be
selected as follows:
cd <nuttx-directory>/tools NOTES:
./configure.sh sim/nx
1. Special Framebuffer Configuration
Special Framebuffer Configuration
---------------------------------
Special simulated framebuffer configuration options: Special simulated framebuffer configuration options:
CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels
CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels. CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
CONFIG_SIM_FBBPP - Pixel depth in bits CONFIG_SIM_FBBPP - Pixel depth in bits
No Display! 2. No Display!
-----------
This version has NO DISPLAY and is only useful for debugging NX This version has NO DISPLAY and is only useful for debugging NX
internals in environments where X11 is not supported. There is internals in environments where X11 is not supported. There is
and additonal configuration that may be added to include an X11- and additonal configuration that may be added to include an X11-
@@ -420,8 +365,8 @@ nx
See the "nx11" configuration below for more information. See the "nx11" configuration below for more information.
Multi- and Single-User Modes 3. Multi- and Single-User Modes
----------------------------
The default is the single-user NX implementation. To select The default is the single-user NX implementation. To select
the multi-user NX implementation: the multi-user NX implementation:
@@ -430,21 +375,14 @@ nx
nx11 nx11
Description
-----------
Configures to use apps/examples/nx. This configuration is similar Configures to use apps/examples/nx. This configuration is similar
to the nx configuration except that it adds support for an X11- to the nx configuration except that it adds support for an X11-
based framebuffer driver. Of course, this configuration can only based framebuffer driver. Of course, this configuration can only
be used in environments that support X11! (And it may not even be used in environments that support X11! (And it may not even
be usable in all of those environments without some "tweaking"). be usable in all of those environments without some "tweaking").
This configuration may be selected as follows: 1. Special Framebuffer Configuration
cd <nuttx-directory>/tools
./configure.sh sim/nx11
Special Framebuffer Configuration
---------------------------------
This configuration uses the same special simulated framebuffer This configuration uses the same special simulated framebuffer
configuration options as the nx configuration: configuration options as the nx configuration:
@@ -453,8 +391,8 @@ nx11
CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels. CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
CONFIG_SIM_FBBPP - Pixel depth in bits CONFIG_SIM_FBBPP - Pixel depth in bits
X11 Configuration 2. X11 Configuration
-----------------
But now, since CONFIG_SIM_X11FB is also selected the following But now, since CONFIG_SIM_X11FB is also selected the following
definitions are needed definitions are needed
@@ -462,14 +400,14 @@ nx11
CONFIG_FB_CMAP=y CONFIG_FB_CMAP=y
My system has 24-bit color, but packed into 32-bit words so My system has 24-bit color, but packed into 32-bit words so
the correct seeting of CONFIG_SIM_FBBPP is 32. the correct setting of CONFIG_SIM_FBBPP is 32.
For whatever value of CONFIG_SIM_FBBPP is selected, the For whatever value of CONFIG_SIM_FBBPP is selected, the
corresponidng CONFIG_NX_DISABLE_*BPP setting must not be corresponding CONFIG_NX_DISABLE_*BPP setting must not be
disabled. disabled.
Touchscreen Support 3. Touchscreen Support
-------------------
A X11 mouse-based touchscreen simulation can also be enabled A X11 mouse-based touchscreen simulation can also be enabled
by setting: by setting:
@@ -482,22 +420,22 @@ nx11
NOTES: NOTES:
1. If you do not have the call to sim_tcinitialize(0), the build a. If you do not have the call to sim_tcinitialize(0), the build
will mysteriously fail claiming that is can't find up_tcenter() will mysteriously fail claiming that is can't find up_tcenter()
and up_tcleave(). That is a consequence of the crazy way that and up_tcleave(). That is a consequence of the crazy way that
the simulation is built and can only be eliminated by calling the simulation is built and can only be eliminated by calling
up_simtouchscreen(0) from your application. up_simtouchscreen(0) from your application.
2. You must first up_fbinitialize() before calling up_simtouchscreen() b. You must first up_fbinitialize() before calling up_simtouchscreen()
or you will get a crash. or you will get a crash.
3. Call sim_tcunininitializee() when you are finished with the c. Call sim_tcunininitializee() when you are finished with the
simulated touchscreen. simulated touchscreen.
4. Enable CONFIG_DEBUG_INPUT=y for touchscreen debug output. d. Enable CONFIG_DEBUG_INPUT=y for touchscreen debug output.
4. X11 Build Issues
X11 Build Issues
----------------
To get the system to compile under various X11 installations To get the system to compile under various X11 installations
you may have to modify a few things. For example, in order you may have to modify a few things. For example, in order
to find libXext, I had to make the following change under to find libXext, I had to make the following change under
@@ -506,16 +444,16 @@ nx11
cd /usr/lib/ cd /usr/lib/
sudo ln -s libXext.so.6.4.0 libXext.so sudo ln -s libXext.so.6.4.0 libXext.so
Multi- and Single-User Modes 5. Multi- and Single-User Modes
----------------------------
The default is the single-user NX implementation. To select The default is the single-user NX implementation. To select
the multi-user NX implementation: the multi-user NX implementation:
CONFG_NX_MULTIUSER=y CONFG_NX_MULTIUSER=y
CONFIG_DISABLE_MQUEUE=n CONFIG_DISABLE_MQUEUE=n
apps/examples/nxconsole 6. apps/examples/nxconsole
-----------------------
This configuration is also set up to use the apps/examples/nxconsole This configuration is also set up to use the apps/examples/nxconsole
test instead of apps/examples/nx. To enable this configuration, test instead of apps/examples/nx. To enable this configuration,
First, select Multi-User mode as described above. Then add the First, select Multi-User mode as described above. Then add the
@@ -527,15 +465,11 @@ nx11
-CONFIG_NX_MULTIUSER=n -CONFIG_NX_MULTIUSER=n
+CONFIG_NX_MULTIUSER=y +CONFIG_NX_MULTIUSER=y
Comment out the following in the appconfig file: -CONFIG_EXAMPLES_NX=y
+CONFIG_EXAMPLES_NX=n
-CONFIGURED_APPS += examples/nx -CONFIG_EXAMPLES_NXCONSOLE=n
+#CONFIGURED_APPS += examples/nx +CONFIG_EXAMPLES_NXCONSOLE=y
And uncomment the following:
-#CONFIGURED_APPS += examples/nxconsole
+CONFIGURED_APPS += examples/nxconsole
See apps/examples/README.txt for further details. See apps/examples/README.txt for further details.
@@ -548,17 +482,6 @@ nxlines
This is the apps/examples/nxlines test. This is the apps/examples/nxlines test.
NOTES:
------
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
nxwm nxwm
This is a special configuration setup for the NxWM window manager This is a special configuration setup for the NxWM window manager
@@ -575,17 +498,8 @@ nxwm
nuttx-code/NxWidgets/UnitTests/READEM.txt nuttx-code/NxWidgets/UnitTests/READEM.txt
NOTES NOTES
-----
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig-mconf tool. See nuttx/README.txt 1. There is an issue with running this example under the
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. There is an issue with running this example under the
simulation. In the default configuration, this example will simulation. In the default configuration, this example will
run the NxConsole example which waits on readline() for console run the NxConsole example which waits on readline() for console
input. When it calls readline(), the whole system blocks input. When it calls readline(), the whole system blocks
@@ -628,47 +542,18 @@ nxwm
ostest ostest
Description The "standard" NuttX apps/examples/ostest configuration.
-----------
The "standard" NuttX apps/examples/ostest configuration. This
configuration may be selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/ostest
NOTES
-----
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the kconfig mconf tool. See nuttx/README.txt
and misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
pashello pashello
Description Configures to use apps/examples/pashello.
-----------
Configures to use apps/examples/pashello. This configuration may
by selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/pashello
touchscreen touchscreen
Description
-----------
This configuration uses the simple touchscreen test at This configuration uses the simple touchscreen test at
apps/examples/touchscreen. This test will create an empty X11 window apps/examples/touchscreen. This test will create an empty X11 window
and will print the touchscreen output as it is received from the and will print the touchscreen output as it is received from the
simulated touchscreen driver. This configuration may simulated touchscreen driver.
by selected as follows:
cd <nuttx-directory>/tools
./configure.sh sim/touchscreen
Since this example uses the simulated frame buffer driver, the Since this example uses the simulated frame buffer driver, the
most of the configuration settings discussed for the "nx11" most of the configuration settings discussed for the "nx11"
-41
View File
@@ -1,41 +0,0 @@
############################################################################
# configs/sim/nx11/appconfig
#
# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
# Path to example in apps/examples containing the user_start entry point
# Various NX tests can be supported, simply comment-out examples/nx and
# uncomment the test you wish to perform
CONFIGURED_APPS += examples/nx
#CONFIGURED_APPS += examples/nxconsole
+550 -226
View File
File diff suppressed because it is too large Load Diff