summaryrefslogtreecommitdiff
path: root/nuttx/README.txt
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-03 13:39:16 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-03 13:39:16 +0000
commit4d4e9232f2be48b2abc0bcd71a73c80f8dafa570 (patch)
tree56b24bdcc5975b3beb67eb39b56379e1e84d951e /nuttx/README.txt
parentc28eb26381526c7dde0ff574af476d0a4b213ad7 (diff)
downloadnuttx-4d4e9232f2be48b2abc0bcd71a73c80f8dafa570.tar.gz
nuttx-4d4e9232f2be48b2abc0bcd71a73c80f8dafa570.tar.bz2
nuttx-4d4e9232f2be48b2abc0bcd71a73c80f8dafa570.zip
STM32 FLASH changes from Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5473 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/README.txt')
-rw-r--r--nuttx/README.txt110
1 files changed, 110 insertions, 0 deletions
diff --git a/nuttx/README.txt b/nuttx/README.txt
index dc3c9fb67..c00f086a1 100644
--- a/nuttx/README.txt
+++ b/nuttx/README.txt
@@ -10,6 +10,8 @@ README
o Configuring NuttX
- 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
@@ -292,6 +294,114 @@ NuttX Configuration Tool
install 'mconf', make certain that your PATH variable includes
a path to that installation directory.
+ The basic configuration order is "bottom-up":
+
+ - Select the build environment,
+ - Select the processor,
+ - Select the board,
+ - Select the supported peripherals
+ - Configure the device drivers,
+ - Configure the application options on top of this.
+
+ This is pretty straight forward for creating new configurations
+ but may be less intuitive for modifying existing configurations.
+
+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
+ 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":
+
+ 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>
+
+ 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.
+
NuttX Configuration Tool under DOS
----------------------------------