summaryrefslogtreecommitdiff
path: root/nuttx/configs/sim/README.txt
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-03-04 15:56:13 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-03-04 15:56:13 -0600
commitf9f212ba0bd121d65f9c6457a9be56abebe42df0 (patch)
treed2f5efb114d8219ab65056d8cb5b5c19008e72d5 /nuttx/configs/sim/README.txt
parent50e94b93616a301c1bc51b7b2edd819dfc53be6c (diff)
downloadpx4-nuttx-f9f212ba0bd121d65f9c6457a9be56abebe42df0.tar.gz
px4-nuttx-f9f212ba0bd121d65f9c6457a9be56abebe42df0.tar.bz2
px4-nuttx-f9f212ba0bd121d65f9c6457a9be56abebe42df0.zip
configs/sim/nx11: Configuration converted to use the kconfig-frontends tools
Diffstat (limited to 'nuttx/configs/sim/README.txt')
-rw-r--r--nuttx/configs/sim/README.txt397
1 files changed, 141 insertions, 256 deletions
diff --git a/nuttx/configs/sim/README.txt b/nuttx/configs/sim/README.txt
index a05a51b52..7cedabed7 100644
--- a/nuttx/configs/sim/README.txt
+++ b/nuttx/configs/sim/README.txt
@@ -191,21 +191,45 @@ X11. See the discussion "Stack Size Issues" above.
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
- Description
- -----------
+
A unit test for the MTD configuration data driver.
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
- ./configure.sh sim/cxxtest
+ The C++ standard libary test at apps/examples/cxxtest configuration. This
+ test is used to verify the uClibc++ port to NuttX.
NOTES
-----
@@ -214,20 +238,11 @@ cxxtest
misc/uClibc++ in GIT. See the README.txt file for instructions on
how to install uClibc++
- 2. 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.
-
- 3. At present (2012/11/02), exceptions are disabled in this example
+ 2. At present (2012/11/02), exceptions are disabled in this example
CONFIG_UCLIBCXX_EXCEPTIONS=n). It is probably not necessary to
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
to do with when static constructors are enabled: In the simulator
@@ -240,25 +255,7 @@ cxxtest
mount
- Description
- -----------
- 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.
+ Configures to use apps/examples/mount.
mtdpart
@@ -267,27 +264,12 @@ mtdpart
nettest
- Description
- -----------
Configures to use apps/examples/nettest. This configuration
- enables networking using the network TAP device. It may
- be selected via:
-
- cd <nuttx-directory>/tools
- ./configure.sh sim/nettest
+ enables networking using the network TAP device.
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.
-
- 2. The NuttX network is not, however, functional on the Linux TAP
+ 1. The NuttX network is not, however, functional on the Linux TAP
device yet.
UPDATE: The TAP device does apparently work according to a NuttX
@@ -296,8 +278,8 @@ nettest
waiting from input from the host OS). My failure to get the TAP
device working appears to have been a cockpit error.
- 3. 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),
+ 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),
but inside will try to use the Cygwin WPCAP library. Only the
most preliminary testing has been performed with the Cygwin WPCAP
library, however.
@@ -309,36 +291,21 @@ nettest
nsh
- Description
- -----------
- Configures to use the NuttShell at apps/examples/nsh. This configuration
- may be selected as follows:
-
- cd <nuttx-directory>/tools
- ./configure.sh sim/nsh
+ Configures to use the NuttShell at apps/examples/nsh.
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.
-
- 2. This version has one builtin function: This configuration:
+ 1. This version has one builtin function: This configuration:
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
build in applications do not work as other examples.
For example trying to execute the hello builtin application will
fail:
- nsh> hello
+ nsh> hello
nsh: hello: command not found
nsh>
@@ -352,7 +319,7 @@ nsh
/bin
nsh> hello
Hello, World!!
- nsh>
+ nsh>
Notice that the executable 'hello' is found using the value in the PATH
variable (which was preset to "/bin"). If the PATH variable were not set
@@ -360,184 +327,151 @@ nsh
nsh2
- Description
- -----------
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
nxlines examples are included as built-in functions.
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.
-
- 2. X11 Configuration
+ 1. X11 Configuration
This configuration uses an X11-based framebuffer driver. Of course, this
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"
See discussion below under the nx11 configuration).
- 3. Configuring
+nx
- This configuration may be selected as follows:
+ Configures to use apps/examples/nx.
- cd <nuttx-directory>/tools
- ./configure.sh sim/nsh2
+ NOTES:
-nx
+ 1. Special Framebuffer Configuration
+
+ Special simulated framebuffer configuration options:
- Description
- -----------
- Configures to use apps/examples/nx. This configuration may be
- selected as follows:
+ CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels
+ CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
+ CONFIG_SIM_FBBPP - Pixel depth in bits
- cd <nuttx-directory>/tools
- ./configure.sh sim/nx
+ 2. No Display!
- Special Framebuffer Configuration
- ---------------------------------
- Special simulated framebuffer configuration options:
+ This version has NO DISPLAY and is only useful for debugging NX
+ internals in environments where X11 is not supported. There is
+ and additonal configuration that may be added to include an X11-
+ based simulated framebuffer driver:
- CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels
- CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
- CONFIG_SIM_FBBPP - Pixel depth in bits
+ CONFIG_SIM_X11FB - Use X11 window for framebuffer
- No Display!
- -----------
- This version has NO DISPLAY and is only useful for debugging NX
- internals in environments where X11 is not supported. There is
- and additonal configuration that may be added to include an X11-
- based simulated framebuffer driver:
-
- CONFIG_SIM_X11FB - Use X11 window for framebuffer
+ See the "nx11" configuration below for more information.
- See the "nx11" configuration below for more information.
+ 3. Multi- and Single-User Modes
- Multi- and Single-User Modes
- ----------------------------
- The default is the single-user NX implementation. To select
- the multi-user NX implementation:
+ The default is the single-user NX implementation. To select
+ the multi-user NX implementation:
- CONFG_NX_MULTIUSER=y
- CONFIG_DISABLE_MQUEUE=n
+ CONFG_NX_MULTIUSER=y
+ CONFIG_DISABLE_MQUEUE=n
nx11
- Description
- -----------
Configures to use apps/examples/nx. This configuration is similar
to the nx configuration except that it adds support for an X11-
based framebuffer driver. Of course, this 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").
-
- This configuration may be selected as follows:
- cd <nuttx-directory>/tools
- ./configure.sh sim/nx11
+ 1. Special Framebuffer Configuration
- Special Framebuffer Configuration
- ---------------------------------
- This configuration uses the same special simulated framebuffer
- configuration options as the nx configuration:
+ This configuration uses the same special simulated framebuffer
+ configuration options as the nx configuration:
- CONFIG_SIM_X11FB - Use X11 window for framebuffer
- CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels
- CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
- CONFIG_SIM_FBBPP - Pixel depth in bits
+ CONFIG_SIM_X11FB - Use X11 window for framebuffer
+ CONFIG_SIM_FBHEIGHT - Height of the framebuffer in pixels
+ CONFIG_SIM_FBWIDTH - Width of the framebuffer in pixels.
+ CONFIG_SIM_FBBPP - Pixel depth in bits
- X11 Configuration
- -----------------
- But now, since CONFIG_SIM_X11FB is also selected the following
- definitions are needed
+ 2. X11 Configuration
- CONFIG_SIM_FBBPP (must match the resolution of the display).
- CONFIG_FB_CMAP=y
+ But now, since CONFIG_SIM_X11FB is also selected the following
+ definitions are needed
- My system has 24-bit color, but packed into 32-bit words so
- the correct seeting of CONFIG_SIM_FBBPP is 32.
+ CONFIG_SIM_FBBPP (must match the resolution of the display).
+ CONFIG_FB_CMAP=y
- For whatever value of CONFIG_SIM_FBBPP is selected, the
- corresponidng CONFIG_NX_DISABLE_*BPP setting must not be
- disabled.
+ My system has 24-bit color, but packed into 32-bit words so
+ the correct setting of CONFIG_SIM_FBBPP is 32.
- Touchscreen Support
- -------------------
- A X11 mouse-based touchscreen simulation can also be enabled
- by setting:
+ For whatever value of CONFIG_SIM_FBBPP is selected, the
+ corresponding CONFIG_NX_DISABLE_*BPP setting must not be
+ disabled.
- CONFIG_INPUT=y
- CONFIG_SIM_TOUCHSCREEN=y
+ 3. Touchscreen Support
- Then you must also have some application logic that will call
- arch_tcinitialize(0) to register the touchscreen driver. See
- also configuration "touchscreen"
+ A X11 mouse-based touchscreen simulation can also be enabled
+ by setting:
- NOTES:
+ CONFIG_INPUT=y
+ CONFIG_SIM_TOUCHSCREEN=y
- 1. If you do not have the call to sim_tcinitialize(0), the build
- will mysteriously fail claiming that is can't find up_tcenter()
- and up_tcleave(). That is a consequence of the crazy way that
- the simulation is built and can only be eliminated by calling
- up_simtouchscreen(0) from your application.
+ Then you must also have some application logic that will call
+ arch_tcinitialize(0) to register the touchscreen driver. See
+ also configuration "touchscreen"
- 2. You must first up_fbinitialize() before calling up_simtouchscreen()
- or you will get a crash.
+ NOTES:
- 3. Call sim_tcunininitializee() when you are finished with the
- simulated touchscreen.
+ 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()
+ and up_tcleave(). That is a consequence of the crazy way that
+ the simulation is built and can only be eliminated by calling
+ up_simtouchscreen(0) from your application.
- 4. Enable CONFIG_DEBUG_INPUT=y for touchscreen debug output.
+ b. You must first up_fbinitialize() before calling up_simtouchscreen()
+ or you will get a crash.
- X11 Build Issues
- ----------------
- To get the system to compile under various X11 installations
- you may have to modify a few things. For example, in order
- to find libXext, I had to make the following change under
- Ubuntu 9.09:
+ c. Call sim_tcunininitializee() when you are finished with the
+ simulated touchscreen.
- cd /usr/lib/
- sudo ln -s libXext.so.6.4.0 libXext.so
+ d. Enable CONFIG_DEBUG_INPUT=y for touchscreen debug output.
+
+ 4. X11 Build Issues
+
+ To get the system to compile under various X11 installations
+ you may have to modify a few things. For example, in order
+ to find libXext, I had to make the following change under
+ Ubuntu 9.09:
+
+ cd /usr/lib/
+ sudo ln -s libXext.so.6.4.0 libXext.so
- Multi- and Single-User Modes
- ----------------------------
- The default is the single-user NX implementation. To select
- the multi-user NX implementation:
+ 5. Multi- and Single-User Modes
- CONFG_NX_MULTIUSER=y
- CONFIG_DISABLE_MQUEUE=n
+ The default is the single-user NX implementation. To select
+ the multi-user NX implementation:
- 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,
- First, select Multi-User mode as described above. Then add the
- following definitions to the defconfig file:
+ CONFG_NX_MULTIUSER=y
+ CONFIG_DISABLE_MQUEUE=n
- -CONFIG_NXCONSOLE=n
- +CONFIG_NXCONSOLE=y
+ 6. apps/examples/nxconsole
- -CONFIG_NX_MULTIUSER=n
- +CONFIG_NX_MULTIUSER=y
+ This configuration is also set up to use the apps/examples/nxconsole
+ test instead of apps/examples/nx. To enable this configuration,
+ First, select Multi-User mode as described above. Then add the
+ following definitions to the defconfig file:
- Comment out the following in the appconfig file:
+ -CONFIG_NXCONSOLE=n
+ +CONFIG_NXCONSOLE=y
- -CONFIGURED_APPS += examples/nx
- +#CONFIGURED_APPS += examples/nx
+ -CONFIG_NX_MULTIUSER=n
+ +CONFIG_NX_MULTIUSER=y
- And uncomment the following:
+ -CONFIG_EXAMPLES_NX=y
+ +CONFIG_EXAMPLES_NX=n
- -#CONFIGURED_APPS += examples/nxconsole
- +CONFIGURED_APPS += examples/nxconsole
+ -CONFIG_EXAMPLES_NXCONSOLE=n
+ +CONFIG_EXAMPLES_NXCONSOLE=y
- See apps/examples/README.txt for further details.
+ See apps/examples/README.txt for further details.
nxffs
@@ -548,17 +482,6 @@ nxlines
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
This is a special configuration setup for the NxWM window manager
@@ -575,17 +498,8 @@ nxwm
nuttx-code/NxWidgets/UnitTests/READEM.txt
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.
-
- 2. There is an issue with running this example under the
+ 1. There is an issue with running this example under the
simulation. In the default configuration, this example will
run the NxConsole example which waits on readline() for console
input. When it calls readline(), the whole system blocks
@@ -599,17 +513,17 @@ nxwm
+++ nsh_consolemain.c (working copy)
@@ -117,7 +117,8 @@
/* Execute the startup script */
-
+
#ifdef CONFIG_NSH_ROMFSETC
- (void)nsh_script(&pstate->cn_vtbl, "init", NSH_INITPATH);
+// REMOVE ME
+// (void)nsh_script(&pstate->cn_vtbl, "init", NSH_INITPATH);
#endif
-
+
/* Then enter the command line parsing loop */
@@ -130,7 +131,8 @@
fflush(pstate->cn_outstream);
-
+
/* Get the next line of input */
-
+sleep(2); // REMOVE ME
@@ -623,52 +537,23 @@ nxwm
}
+#endif // REMOVE ME
}
-
+
/* Clean up */
ostest
- Description
- -----------
- 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.
+ The "standard" NuttX apps/examples/ostest configuration.
pashello
- Description
- -----------
- Configures to use apps/examples/pashello. This configuration may
- by selected as follows:
-
- cd <nuttx-directory>/tools
- ./configure.sh sim/pashello
+ Configures to use apps/examples/pashello.
touchscreen
- Description
- -----------
This configuration uses the simple touchscreen test at
apps/examples/touchscreen. This test will create an empty X11 window
- and will print the touchscreen output as it is received from the
- simulated touchscreen driver. This configuration may
- by selected as follows:
-
- cd <nuttx-directory>/tools
- ./configure.sh sim/touchscreen
+ and will print the touchscreen output as it is received from the
+ simulated touchscreen driver.
Since this example uses the simulated frame buffer driver, the
most of the configuration settings discussed for the "nx11"