Support for the older, manual configurations has been completely removed from the NuttX build system
This commit is contained in:
parent
596bdc73df
commit
4cbdbc875e
11
ChangeLog
11
ChangeLog
@ -6923,3 +6923,14 @@
|
||||
* configs/rgmp/x86/cxxtest: Configuration converted to use the
|
||||
kconfig-frontends tools. This completes the conversion of all
|
||||
configurations to the newer format (2014-3-6)
|
||||
* Removed the CONFIG_NUTTX_NEWCONFIG setting from every defconfig
|
||||
file (2014-3-6).
|
||||
* The legacy, manual configuration is no longer supported by the
|
||||
NuttX build system. Only the newer configurations generated by
|
||||
the kconfig-frontends tools will generate viable NuttX
|
||||
configurations. All board configurations in the NuttX source tree
|
||||
have bee converted to use the newer configuration, but if you have
|
||||
some older style configurations for you board, you will need to
|
||||
convert those configurations to use the kconfig-frontends tools.
|
||||
See http://www.nuttx.org/doku.php?id=wiki:howtos:convertconfig for
|
||||
some guidelines (2014-3-6).
|
||||
|
@ -8,7 +8,7 @@
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttShell (NSH)</i></font></big></h1>
|
||||
<p>Last Updated: February 20, 2014</p>
|
||||
<p>Last Updated: March 6, 2014</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -3863,32 +3863,6 @@ CONFIG_SCHED_WAITPID=y
|
||||
Of course, even with <code>CONFIG_SCHED_WAITPID=y</code> defined, specific applications can still be forced to run asynchronously by adding the ampersand (&) after the NSH command.
|
||||
</p>
|
||||
|
||||
<h3>4.3.3 Application Configuration File</h3>
|
||||
|
||||
<p>
|
||||
<b>The appconfig File</b>.
|
||||
A special configuration file is used to configure which applications are to be included in the build.
|
||||
The source for this file is saved at <code>configs/<board>/<configuration>/appconfig</code>.
|
||||
The existence of the <code>appconfig</code> file in the board configuration directory is sufficient to enable building of applications.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The <code>appconfig</code> file is copied into the <code>apps/</code> directory as <code>.config</code> when NuttX is configured.
|
||||
<code>.config</code> is included by the top-level <code>apps/Makefile</code>.
|
||||
As a minimum, this configuration file must define files to add to the <code>CONFIGURED_APPS</code> list like:
|
||||
</p>
|
||||
<ul><pre>
|
||||
CONFIGURED_APPS += examples/hello
|
||||
</pre></ul>
|
||||
|
||||
<p>
|
||||
<b>Changes in the Works</b>.
|
||||
There are changes in the works that will obsolete the <code>appconfig</code> file.
|
||||
These changes will implement an automated configuration system for NuttX.
|
||||
One consequence of this new configuration system is that the <code>appconfig</code> file will become obsolete and will be replaced by a new mechanism for selecting applications.
|
||||
This new mechanism is not yet available, but is dicussed here: <a href="http://tech.groups.yahoo.com/group/nuttx/message/1604">http://tech.groups.yahoo.com/group/nuttx/message/1604</a>.
|
||||
</p>
|
||||
|
||||
<table width ="100%">
|
||||
<tr bgcolor="#e4e4e4">
|
||||
<td>
|
||||
@ -4142,8 +4116,6 @@ mount -t vfat /dev/ram1 /tmp
|
||||
<li><a href="#cmdtest"><code>[</code></a></li>
|
||||
<li><a href="#custoncmds">Adding NSH commands</a></li>
|
||||
<li><a href="#cmdaddroute"><code>addroute</code></a></li>
|
||||
<li><a href="#custapps"><code>appconfig</code></a></li>
|
||||
<li><a href="#custapps">Application configuration file (<code>appconfig</code>)</a></li>
|
||||
<li><a href="#custapps">Autogenerated header files</a></li>
|
||||
<li><a href="#cmdoverview">Background commands</a></li>
|
||||
<li><a href="#cmdoverview">Background command priority</a></li>
|
||||
@ -4196,10 +4168,10 @@ mount -t vfat /dev/ram1 /tmp
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_NESTDEPTH</code></a></li>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_NETMASK</code></a></li>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_NOMAC</code></a></li>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_READLINE</code></a></li>
|
||||
</ul></td>
|
||||
<td width="33%" valign="top">
|
||||
<ul>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_READLINE</code></a></li>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_ROMFSDEVNO</code></a></li>
|
||||
<li><a href="#nshconfiguration"><code>CONFIG_NSH_ROMFSETC</code></a></li>
|
||||
<li><a href="#custinit"><code>CONFIG_NSH_ROMFSETC</code></a></li>
|
||||
|
@ -645,20 +645,14 @@
|
||||
|-- <i><config1-dir></i>
|
||||
| |-- Make.defs
|
||||
| |-- defconfig
|
||||
| |-- appconfig<sup>1</sup>
|
||||
| `-- setenv.sh
|
||||
|-- <i><config2-dir></i>
|
||||
| |-- Make.defs
|
||||
| |-- defconfig
|
||||
| |-- appconfig<sup>1</sup>
|
||||
| `-- setenv.sh
|
||||
| ...
|
||||
`-- <i>(other board-specific configuration sub-directories)</i>/
|
||||
</pre>
|
||||
<p><small>
|
||||
<sup>1</sup>Optional
|
||||
</small></p>
|
||||
</ul>
|
||||
</pre></ul>
|
||||
|
||||
<h3><a name="summaryofconfigfiles">2.4.2 Summary of Files</a></h3>
|
||||
<h4><a name="boardlogic">2.4.2.1 Board Specific Logic</a></h4>
|
||||
@ -744,13 +738,6 @@
|
||||
most C files in the system.</li>
|
||||
</ol></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<code>appconfig</code>: This is another configuration file that is specific to the
|
||||
application. This file is copied into the application build directory
|
||||
when NuttX is configured. See <code>../apps/README.txt</code> for further details.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<code>setenv.sh</code>: This is a script that you can include that will be installed at
|
||||
@ -1461,15 +1448,6 @@ netutils/
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/]defconfig</code> to <code>${TOPDIR}/.config</code></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
And if <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/appconfig</code> exists in the board configuration directory:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Copy <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i><code>/appconfig</code> to <app-dir><code>/.config</code></li>
|
||||
<li><code>echo "APPS_LOC=\"<app-dir>\"" >> "${TOPDIR}/.config"</code></li>
|
||||
</ul>
|
||||
|
||||
</p>
|
||||
<p>
|
||||
Where <i><board-name></i> is the name of one of the sub-directories of the
|
||||
NuttX <a href="#DirStructConfigs"><code>configs/</code></a> directory.
|
||||
@ -1500,8 +1478,7 @@ netutils/
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If <code>configs/</code><i><board-name></i><code>/[</code><i><config-dir></i>]<code>/appconfig</code>
|
||||
exists and your application directory is not in the standard loction (<config>../apps</config>),
|
||||
If your application directory is not in the standard loction (<code>../apps</code> or <code>../apps-<version></code>),
|
||||
then you should also specify the location of the application directory on the command line like:
|
||||
</p>
|
||||
<ul><pre>
|
||||
|
7
Kconfig
7
Kconfig
@ -9,13 +9,6 @@ config APPSDIR
|
||||
string
|
||||
option env="APPSDIR"
|
||||
|
||||
# This is a temporary kludge to let the build system know that we are using the new
|
||||
# configuration system
|
||||
|
||||
config NUTTX_NEWCONFIG
|
||||
bool
|
||||
default y
|
||||
|
||||
menu "Build Setup"
|
||||
|
||||
config EXPERIMENTAL
|
||||
|
@ -802,10 +802,7 @@ endif
|
||||
# apps_clean: Perform the clean operation only in the user application
|
||||
# directory
|
||||
# apps_distclean: Perform the distclean operation only in the user application
|
||||
# directory. Note that the apps/.config file (inf any) is
|
||||
# preserved so that this is not a "full" distclean but more of a
|
||||
# configuration "reset." (There will not be an apps/.config
|
||||
# file if the configuration was generated via make menuconfig).
|
||||
# directory.
|
||||
|
||||
apps_clean:
|
||||
ifneq ($(APPDIR),)
|
||||
@ -814,15 +811,5 @@ endif
|
||||
|
||||
apps_distclean:
|
||||
ifneq ($(APPDIR),)
|
||||
$(Q) if [ -r "$(TOPDIR)/$(APPDIR)/.config" ]; then \
|
||||
cp "$(TOPDIR)/$(APPDIR)/.config" _SAVED_APPS_config || \
|
||||
{ echo "Copy of $(APPDIR)/.config failed" ; exit 1 ; } \
|
||||
else \
|
||||
rm -f _SAVED_APPS_config; \
|
||||
fi
|
||||
$(Q) $(MAKE) -C "$(TOPDIR)/$(APPDIR)" TOPDIR="$(TOPDIR)" distclean
|
||||
$(Q) if [ -r _SAVED_APPS_config ]; then \
|
||||
mv _SAVED_APPS_config "$(TOPDIR)/$(APPDIR)/.config" || \
|
||||
{ echo "Copy of _SAVED_APPS_config failed" ; exit 1 ; } \
|
||||
fi
|
||||
endif
|
||||
|
@ -799,10 +799,7 @@ endif
|
||||
# apps_clean: Perform the clean operation only in the user application
|
||||
# directory
|
||||
# apps_distclean: Perform the distclean operation only in the user application
|
||||
# directory. Note that the apps\.config file (inf any) is
|
||||
# preserved so that this is not a "full" distclean but more of a
|
||||
# configuration "reset." (There will not be an apps\.config
|
||||
# file if the configuration was generated via make menuconfig).
|
||||
# directory.
|
||||
|
||||
apps_clean:
|
||||
ifneq ($(APPDIR),)
|
||||
@ -811,8 +808,5 @@ endif
|
||||
|
||||
apps_distclean:
|
||||
ifneq ($(APPDIR),)
|
||||
$(call DELFILE, _SAVED_APPS_config
|
||||
$(Q) if exist "$(APPDIR)\.config" ( cp "$(APPDIR)\.config" _SAVED_APPS_config )
|
||||
$(Q) $(MAKE) -C "$(APPDIR)" TOPDIR="$(TOPDIR)" distclean
|
||||
$(Q) if exist _SAVED_APPS_config ( mv _SAVED_APPS_config "$(APPDIR)\.config" )
|
||||
endif
|
||||
|
100
README.txt
100
README.txt
@ -12,7 +12,6 @@ README
|
||||
- Instantiating "Canned" Configurations
|
||||
- NuttX Configuration Tool
|
||||
- Incompatibilities with Older Configurations
|
||||
- Converting Older Configurations to use the Configuration Tool
|
||||
- NuttX Configuration Tool under DOS
|
||||
o Toolchains
|
||||
- Cross-Development Toolchains
|
||||
@ -254,14 +253,6 @@ additional file to the directory the NuttX application package (APPSDIR)):
|
||||
included in the build and what is not. This file is also used
|
||||
to generate a C configuration header at include/nuttx/config.h.
|
||||
|
||||
Copy configs/<board-name>/<config-dir>/appconfig to ${APPSDIR}/.config
|
||||
|
||||
The appconfig file describes the applications that need to be
|
||||
built in the appliction directory (APPSDIR). Not all configurations
|
||||
have an appconfig file. This file is deprecated and will not be
|
||||
used with new defconfig files produced with the kconfig-mconf
|
||||
configuration tool.
|
||||
|
||||
General information about configuring NuttX can be found in:
|
||||
|
||||
${TOPDIR}/configs/README.txt
|
||||
@ -379,98 +370,25 @@ Incompatibilities with Older Configurations
|
||||
|
||||
***** WARNING *****
|
||||
|
||||
The old legacy, manual configurations and the new kconfig-frontends
|
||||
configurations are not 100% compatible. Old legacy configurations
|
||||
can *not* be used with the kconfig-frontends tool: If you run
|
||||
'make menuconfig' with a legacy configuration the resulting
|
||||
The current NuttX build system supports *only* the new configuration
|
||||
files generated using the kconfig-frontends tools. The older, legacy,
|
||||
manual configurations and the new kconfig-frontends configurations are
|
||||
not compatible. Old legacy configurations can *not* be used with the kconfig-frontends tool and, hence, cannot be used with recent releases
|
||||
of NuttX:
|
||||
|
||||
If you run 'make menuconfig' with a legacy configuration the resulting
|
||||
configuration will probably not be functional.
|
||||
|
||||
Q: How can I tell if a configuration is a new kconfig-frontends
|
||||
configuration or an older, manual configuration?
|
||||
|
||||
A: a) New kcondfig-frontends configurations will have this setting
|
||||
within the defconfig/.config file":
|
||||
A: Only old, manual configurations will have an appconfig file
|
||||
|
||||
CONFIG_NUTTX_NEWCONFIG=y
|
||||
|
||||
b) Only old, manual configurations will have an appconfig file
|
||||
|
||||
Converting Older Configurations to use the Configuration Tool
|
||||
-------------------------------------------------------------
|
||||
|
||||
Q: How can I convert a older, manual configuration into a new,
|
||||
kconfig-frontends toolchain.
|
||||
|
||||
A: 1) Look at the appconfig file: Each application path there
|
||||
will now have to have an enabling setting. For example,
|
||||
if the old appconfig file had:
|
||||
|
||||
CONFIGURED_APPS = examples/ostest
|
||||
|
||||
Then the new configuration will need:
|
||||
|
||||
CONFIG_EXAMPLES_OSTEST=y
|
||||
|
||||
The appconfig file can then be deleted because it will not
|
||||
be needed after the conversion.
|
||||
|
||||
2) Build the cmpconfig utility at tools:
|
||||
|
||||
cd tools
|
||||
make -f Makefile.host cmpconfig
|
||||
|
||||
3) Perform these steps repeatedly until you are convinced that
|
||||
the configurations are the same:
|
||||
|
||||
a) Repeat the following until you have account for all of the differences:
|
||||
|
||||
cp configs/<board>/<condfiguration>/defconfig .config
|
||||
make menuconfig (Just exit and save the new .config file)
|
||||
tools/cmpconfig configs/<board>/<condfiguration>/defconfig .config | grep file1
|
||||
|
||||
The final grep will show settings in the old defconfig file that
|
||||
do not appear in the new .config file (or have a different value
|
||||
in the new .config file). In the new configuration, you will
|
||||
probably have to enable certain groups of features. Such
|
||||
hierarachical enabling options were not part of the older
|
||||
configuration.
|
||||
|
||||
b) Then make sure these all make sense:
|
||||
|
||||
tools/cmpconfig configs/<board>/<condfiguration>/defconfig .config | grep file2
|
||||
|
||||
The final grep will show settings in the new .config file that
|
||||
do not appear in the older defconfig file (or have a different value
|
||||
in the new .config file). Here you should see only the new
|
||||
hierarachical enabling options (such as CONFIG_SPI or CONFIG_MMCSD)
|
||||
plus some other internal configuration settings (like CONFIG_ARCH_HAVE_UART0).
|
||||
You will have to convince yourself that these new settings all make sense.
|
||||
|
||||
4) Finally, update the configuration:
|
||||
|
||||
cp .config configs/<board>/<condfiguration>/defconfig
|
||||
rm configs/<board>/<condfiguration>/appconfig
|
||||
|
||||
NOTE: You should comment out the line containing the CONFIG_APPS_DIR
|
||||
in the new defconfig file. Why? Because the application directory
|
||||
may reside at a different location when the configuration is installed
|
||||
at some later time.
|
||||
|
||||
# CONFIG_APPS_DIR="../apps"
|
||||
|
||||
5) The updated configuration can then be instantiated in the normal
|
||||
fashion:
|
||||
|
||||
cd tools
|
||||
./configure.sh <board>/<condfiguration>
|
||||
|
||||
(or configure.bat for the case of the Windows native build).
|
||||
|
||||
NOTE: If CONFIG_APPS_DIR is not defined in the defconfig file,
|
||||
the configure.sh script will find and add the new, correct path to
|
||||
the application directory (CONFIG_APPS_DIR) when it copies the
|
||||
defconfig file to the .config file. This is the setting that was
|
||||
commented out in step 4.
|
||||
A: Refer to http://www.nuttx.org/doku.php?id=wiki:howtos:convertconfig
|
||||
|
||||
NuttX Configuration Tool under DOS
|
||||
----------------------------------
|
||||
|
@ -60,17 +60,13 @@ following characteristics:
|
||||
|-- <config1-dir>
|
||||
| |-- Make.defs
|
||||
| |-- defconfig
|
||||
| |-- appconfig*
|
||||
| `-- setenv.sh
|
||||
|-- <config2-dir>
|
||||
| |-- Make.defs
|
||||
| |-- defconfig
|
||||
| |-- appconfig*
|
||||
| `-- setenv.sh
|
||||
...
|
||||
|
||||
*optional
|
||||
|
||||
Summary of Files
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
@ -132,10 +128,6 @@ defconfig -- This is a configuration file similar to the Linux
|
||||
(2) to generate include/nuttx/config.h which is included by
|
||||
most C files in the system.
|
||||
|
||||
appconfig -- This is another configuration file that is specific to the
|
||||
application. This file is copied into the application build directory
|
||||
when NuttX is configured. See ../apps/README.txt for further details.
|
||||
|
||||
setenv.sh -- This is a script that you can include that will be installed at
|
||||
the toplevel of the directory structure and can be sourced to set any
|
||||
necessary environment variables. You will most likely have to customize the
|
||||
@ -622,12 +614,6 @@ Configuring NuttX requires only copying
|
||||
configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
|
||||
configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
|
||||
|
||||
And if configs/<board-name>/<config-dir>/appconfig exists in the board
|
||||
configuration directory:
|
||||
|
||||
Copy configs/<board-name>/<config-dir>/appconfig to <app-dir>/.config
|
||||
echo "APPS_LOC=\"<app-dir>\"" >> "${TOPDIR}/.config"
|
||||
|
||||
tools/configure.sh
|
||||
There is a script that automates these steps. The following steps will
|
||||
accomplish the same configuration:
|
||||
@ -643,10 +629,9 @@ tools/configure.sh
|
||||
|
||||
See tools/README.txt for more information about these scripts.
|
||||
|
||||
And if configs/<board-name>/<config-dir>/appconfig exists and your
|
||||
application directory is not in the standard loction (../apps), then
|
||||
you should also specify the location of the application directory on the
|
||||
command line like:
|
||||
And if your application directory is not in the standard loction (../apps
|
||||
or ../apps-<version>), then you should also specify the location of the
|
||||
application directory on the command line like:
|
||||
|
||||
cd tools
|
||||
./configure.sh -a <app-dir> <board-name>/<config-dir>
|
||||
|
@ -1053,11 +1053,11 @@ Where <subdir> is one of the following:
|
||||
USB serial example at apps/examples/usbterm by changing the
|
||||
following:
|
||||
|
||||
-CONFIGURED_APPS += examples/usbserial
|
||||
+CONFIGURED_APPS += examples/usbterm
|
||||
-CONFIG_EXAMPLES_USBSERIAL=y
|
||||
+CONFIG_EXAMPLES_USBSERIAL=n
|
||||
|
||||
In either the original appconfig file (before configuring)
|
||||
or in the final apps/.config file (after configuring).
|
||||
-CONFIG_EXAMPLES_USBTERM=n
|
||||
+CONFIG_EXAMPLES_USBTERM=y
|
||||
|
||||
usbmsc:
|
||||
-------
|
||||
|
@ -933,18 +933,16 @@ Where <subdir> is one of the following:
|
||||
CONFIG_CAN_REGDEBUG
|
||||
|
||||
6. This example can support an FTP client. In order to build in FTP client
|
||||
support simply uncomment the following lines in the appconfig file (before
|
||||
configuring) or in the apps/.config file (after configuring):
|
||||
support simply reconfigure NuttX, adding:
|
||||
|
||||
#CONFIGURED_APPS += netutils/ftpc
|
||||
#CONFIGURED_APPS += examples/ftpc
|
||||
CONFIG_NETUTILS_FTPC=y
|
||||
CONFIG_EXAMPLES_FTPC=y
|
||||
|
||||
7. This example can support an FTP server. In order to build in FTP server
|
||||
support simply uncomment the following lines in the appconfig file (before
|
||||
configuring) or in the apps/.config file (after configuring):
|
||||
support simply add the following lines in the NuttX configuration file:
|
||||
|
||||
#CONFIGURED_APPS += netutils/ftpd
|
||||
#CONFIGURED_APPS += examples/ftpd
|
||||
CONFIG_NETUTILS_FTPD=y
|
||||
CONFIG_EXAMPLES_FTPD=y
|
||||
|
||||
And enable poll() support in the NuttX configuration file:
|
||||
|
||||
@ -968,32 +966,31 @@ Where <subdir> is one of the following:
|
||||
|
||||
9. Adding LCD and graphics support:
|
||||
|
||||
appconfig (apps/.config): Enable the application configurations that you
|
||||
want to use. Asexamples:
|
||||
Enable the application configurations that you want to use. As examples:
|
||||
|
||||
CONFIGURED_APPS += examples/nx : Pick one or more
|
||||
CONFIGURED_APPS += examples/nxhello :
|
||||
CONFIGURED_APPS += examples/nximage :
|
||||
CONFIGURED_APPS += examples/nxlines :
|
||||
CONFIG_EXAMPLES_NX=y : Pick one or more
|
||||
CONFIG_EXAMPLES_NXHELLO=y :
|
||||
CONFIG_EXAMPLES_NXIMAGE=y :
|
||||
CONFIG_EXAMPLES_NXLINES=y :
|
||||
|
||||
defconfig (nuttx/.config):
|
||||
|
||||
CONFIG_STM32_FSMC=y : FSMC support is required for the LCD
|
||||
CONFIG_NX=y : Enable graphics suppport
|
||||
CONFIG_MM_REGIONS=2 : When FSMC is enabled, so is the on-board SRAM memory region
|
||||
CONFIG_STM32_FSMC=y : FSMC support is required for the LCD
|
||||
CONFIG_NX=y : Enable graphics suppport
|
||||
CONFIG_MM_REGIONS=2 : When FSMC is enabled, so is the on-board SRAM memory region
|
||||
|
||||
10. USB OTG FS Device or Host Support
|
||||
|
||||
CONFIG_USBDEV - Enable USB device support, OR
|
||||
CONFIG_USBHOST - Enable USB host support (but not both)
|
||||
CONFIG_USBDEV : Enable USB device support, OR
|
||||
CONFIG_USBHOST : Enable USB host support (but not both)
|
||||
|
||||
CONFIG_STM32_OTGFS - Enable the STM32 USB OTG FS block
|
||||
CONFIG_STM32_SYSCFG - Needed for all USB OTF FS support
|
||||
CONFIG_STM32_OTGFS : Enable the STM32 USB OTG FS block
|
||||
CONFIG_STM32_SYSCFG : Needed for all USB OTF FS support
|
||||
|
||||
CONFIG_SCHED_WORKQUEUE - Worker thread support is required for the mass
|
||||
storage class (both host and device).
|
||||
CONFIG_NSH_ARCHINIT - Architecture specific USB initialization
|
||||
is needed
|
||||
CONFIG_SCHED_WORKQUEUE : Worker thread support is required for the mass
|
||||
storage class (both host and device).
|
||||
CONFIG_NSH_ARCHINIT : Architecture specific USB initialization
|
||||
is needed
|
||||
|
||||
11. This configuration requires that jumper JP22 be set to enable RS-232 operation.
|
||||
|
||||
|
@ -691,8 +691,8 @@ Where <subdir> is one of the following:
|
||||
System Type -> PIC32MX Peripheral Support:
|
||||
CONFIG_PIC32MX_USBDEV=y : Enable PIC32 USB device support
|
||||
|
||||
examples/usbterm - This option can be enabled by uncommenting
|
||||
the following line in the appconfig file:
|
||||
examples/usbterm - This option can be enabled by adding the following
|
||||
to the NuttX configuration file:
|
||||
|
||||
Application Configuration->Examples:
|
||||
CONFIG_EXAMPLES_USBTERM=y : Selects /apps/examples/usbterm
|
||||
@ -704,7 +704,7 @@ Where <subdir> is one of the following:
|
||||
CONFIG_CDCACM=y : or the CDC/ACM serial driver (not both)
|
||||
|
||||
system/cdcacm - The system/cdcacm program can be included as an
|
||||
function by uncommenting the following line in the appconfig file:
|
||||
function by dding the following to the NuttX configuration file:
|
||||
|
||||
Application Configuration->Examples:
|
||||
CONFIG_SYSTEM_CDCACM=y : Select apps/system/cdcacm
|
||||
@ -714,9 +714,10 @@ Where <subdir> is one of the following:
|
||||
Drivers->USB Device Driver Support
|
||||
CONFIG_CDCACM=y : Enable the CDCACM device
|
||||
|
||||
system/usbmsc - There are some hooks in the appconfig file
|
||||
to enable the USB mass storage class (MSC)device. However, this device
|
||||
cannot work until support for the SD card is also incorporated.
|
||||
system/usbmsc - To enable the USB mass storage class (MSC)device,
|
||||
you would need to add the following to the NuttX configuration file.
|
||||
However, this device cannot work until support for the SD card is
|
||||
also incorporated.
|
||||
|
||||
Drivers->USB Device Driver Support
|
||||
CONFIG_USBMSC=y : Enables the USB MSC class
|
||||
|
@ -87,11 +87,9 @@ static char *g_verstring = "0.0"; /* Version String */
|
||||
|
||||
static char *g_srcdefconfig = NULL; /* Source defconfig file */
|
||||
static char *g_srcmakedefs = NULL; /* Source Make.defs file */
|
||||
static char *g_srcappconfig = NULL ; /* Source appconfig file (optional) */
|
||||
static char *g_srcsetenvsh = NULL; /* Source setenv.sh file (optional) */
|
||||
static char *g_srcsetenvbat = NULL; /* Source setenv.bat file (optional) */
|
||||
|
||||
static bool g_newconfig = false; /* True: New style configuration */
|
||||
static bool g_winnative = false; /* True: Windows native configuration */
|
||||
static bool g_needapppath = true; /* Need to add app path to the .config file */
|
||||
|
||||
@ -603,15 +601,6 @@ static void check_configuration(void)
|
||||
{
|
||||
struct variable_s *var;
|
||||
|
||||
/* Check if this the new style configuration based on kconfig-fontends */
|
||||
|
||||
var = find_variable("CONFIG_NUTTX_NEWCONFIG", g_configvars);
|
||||
if (var && var->val && strcmp("y", var->val) == 0)
|
||||
{
|
||||
debug("check_configuration: New style configuration\n");
|
||||
g_newconfig = true;
|
||||
}
|
||||
|
||||
/* Check if this is a Windows native configuration */
|
||||
|
||||
var = find_variable("CONFIG_WINDOWS_NATIVE", g_configvars);
|
||||
@ -669,23 +658,6 @@ static void check_configuration(void)
|
||||
g_srcsetenvsh = strdup(g_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
/* Old style configurations MUST provide an appconfig file */
|
||||
|
||||
if (!g_newconfig)
|
||||
{
|
||||
snprintf(g_buffer, BUFFER_SIZE, "%s%cappconfig", g_configpath, g_delim);
|
||||
debug("check_configuration: Checking %s\n", g_buffer);
|
||||
if (!verify_file(g_buffer))
|
||||
{
|
||||
fprintf(stderr, "ERROR: Configuration corrupted in %s\n", g_configpath);
|
||||
fprintf(stderr, " Required appconfig file not found.\n");
|
||||
enumerate_configs();
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
g_srcappconfig = strdup(g_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
static void copy_file(const char *srcpath, const char *destpath, mode_t mode)
|
||||
@ -803,15 +775,6 @@ static void configure(void)
|
||||
copy_file(g_srcsetenvbat, g_buffer, 0644);
|
||||
}
|
||||
|
||||
/* Copy the appconfig file to ../apps/.config if have one and need one */
|
||||
|
||||
if (g_srcappconfig)
|
||||
{
|
||||
snprintf(g_buffer, BUFFER_SIZE, "%s%c.config", g_apppath, g_delim);
|
||||
debug("configure: Copying from %s to %s\n", g_srcappconfig, g_buffer);
|
||||
copy_file(g_srcappconfig, g_buffer, 0644);
|
||||
}
|
||||
|
||||
/* If we did not use the CONFIG_APPS_DIR that was in the defconfig config file,
|
||||
* then append the correct application information to the tail of the .config
|
||||
* file
|
||||
|
@ -133,15 +133,12 @@ if [ ! -r "${src_config}" ]; then
|
||||
fi
|
||||
|
||||
# Extract values needed from the defconfig file. We need:
|
||||
# (1) The CONFIG_NUTTX_NEWCONFIG setting to know if this is a "new" style
|
||||
# configuration,
|
||||
# (2) The CONFIG_WINDOWS_NATIVE setting to know it this is target for a
|
||||
# (1) The CONFIG_WINDOWS_NATIVE setting to know it this is target for a
|
||||
# native Windows (meaning that we want setenv.bat vs setenv.sh and we need
|
||||
# to use backslashes in the CONFIG_APPS_DIR setting).
|
||||
# (3) The CONFIG_APPS_DIR setting to see if there is a configured location for the
|
||||
# (2) The CONFIG_APPS_DIR setting to see if there is a configured location for the
|
||||
# application directory. This can be overridden from the command line.
|
||||
|
||||
newconfig=`grep CONFIG_NUTTX_NEWCONFIG= "${src_config}" | cut -d'=' -f2`
|
||||
winnative=`grep CONFIG_WINDOWS_NATIVE= "${src_config}" | cut -d'=' -f2`
|
||||
|
||||
defappdir=y
|
||||
@ -218,16 +215,3 @@ if [ "X${defappdir}" = "Xy" ]; then
|
||||
echo "CONFIG_APPS_DIR=\"$posappdir\"" >> "${dest_config}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Copy appconfig file. The appconfig file will be copied to ${appdir}/.config
|
||||
# if both (1) ${appdir} is defined and (2) we are not using the new configuration
|
||||
# (which does not require a .config file in the appsdir.
|
||||
|
||||
if [ ! -z "${appdir}" -a "X${newconfig}" != "Xy" ]; then
|
||||
if [ ! -r "${configpath}/appconfig" ]; then
|
||||
echo "NOTE: No readable appconfig file found in ${configpath}"
|
||||
else
|
||||
install -m 644 "${configpath}/appconfig" "${TOPDIR}/${posappdir}/.config" || \
|
||||
{ echo "Failed to copy ${configpath}/appconfig" ; exit 10 ; }
|
||||
fi
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user