git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@659 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-02-07 14:41:11 +00:00
parent 63dfc73c7e
commit 54afe4dfa7
3 changed files with 51 additions and 26 deletions

View File

@ -33,7 +33,8 @@ o Board specific files. In order to be usable, the chip must be
These board-specific configuration files can be found in the These board-specific configuration files can be found in the
configs/<board-name>/ sub-directories and are discussed in this configs/<board-name>/ sub-directories and are discussed in this
README. README. Additional configuration information maybe available in
board-specific configs/<board-name>/README.txt files.
The configs/ subdirectory contains configuration data for each board. These The configs/ subdirectory contains configuration data for each board. These
board-specific configurations plus the architecture-specific configurations in board-specific configurations plus the architecture-specific configurations in
@ -53,10 +54,15 @@ following characteristics:
|-- src/ |-- src/
| |-- Makefile | |-- Makefile
| `-- (board-specific source files) | `-- (board-specific source files)
|-- Make.defs |-- <config1-dir>
|-- defconfig | |-- Make.defs
`-- setenv.sh | |-- defconfig
| `-- setenv.sh
|-- <config2-dir>
| |-- Make.defs
| |-- defconfig
| `-- setenv.sh
...
Summary of Files Summary of Files
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
@ -74,6 +80,12 @@ src/Makefile -- This makefile will be invoked to build the board specific
drivers. It must support the following targets: libext$(LIBEXT), clean, drivers. It must support the following targets: libext$(LIBEXT), clean,
and distclean. and distclean.
A board may have various different configurations using these common source
files. Each board configuration is described by three files: Make.defs,
defconfig, and setenv.sh. Typically, each set of configuration files is
retained in a separate configuration sub-directory (<config1-dir>,
<config2-dir>, .. in the above diagram).
Make.defs -- This makefile fragment provides architecture and Make.defs -- This makefile fragment provides architecture and
tool-specific build options. It will be included by all other tool-specific build options. It will be included by all other
makefiles in the build (once it is installed). This make fragment makefiles in the build (once it is installed). This make fragment
@ -90,7 +102,7 @@ Make.defs -- This makefile fragment provides architecture and
different if CONFIG_DEBUG=y. different if CONFIG_DEBUG=y.
defconfig -- This is a configuration file similar to the Linux defconfig -- This is a configuration file similar to the Linux
configuration file. In contains varialble/value pairs like: configuration file. In contains variable/value pairs like:
CONFIG_VARIABLE=value CONFIG_VARIABLE=value
@ -137,7 +149,7 @@ defconfig -- This is a configuration file similar to the Linux
CONFIG_DEBUG_SCHED - enable OS debug output (disabled by CONFIG_DEBUG_SCHED - enable OS debug output (disabled by
default) default)
CONFIG_DEBUG_MM - enable memory management debug output CONFIG_DEBUG_MM - enable memory management debug output
(disabld by default) (disabled by default)
CONFIG_DEBUG_NET - enable network debug output (disabled CONFIG_DEBUG_NET - enable network debug output (disabled
by default) by default)
CONFIG_DEBUG_FS - enable filesystem debug output (disabled CONFIG_DEBUG_FS - enable filesystem debug output (disabled
@ -160,7 +172,7 @@ defconfig -- This is a configuration file similar to the Linux
be disabled by setting this value to zero. be disabled by setting this value to zero.
CONFIG_SCHED_INSTRUMENTATION - enables instrumentation in CONFIG_SCHED_INSTRUMENTATION - enables instrumentation in
scheduler to monitor system performance scheduler to monitor system performance
CONFIG_TASK_NAME_SIZE - Spcifies that maximum size of a CONFIG_TASK_NAME_SIZE - Specifies that maximum size of a
task name to save in the TCB. Useful if scheduler task name to save in the TCB. Useful if scheduler
instrumentation is selected. Set to zero to disable. instrumentation is selected. Set to zero to disable.
CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
@ -194,7 +206,7 @@ defconfig -- This is a configuration file similar to the Linux
Allow for architecture optimized implementations Allow for architecture optimized implementations
The architecture can provide optimized versions of the The architecture can provide optimized versions of the
following to improve sysem performance following to improve system performance
CONFIG_ARCH_MEMCPY, CONFIG_ARCH_MEMCMP, CONFIG_ARCH_MEMMOVE CONFIG_ARCH_MEMCPY, CONFIG_ARCH_MEMCMP, CONFIG_ARCH_MEMMOVE
CONFIG_ARCH_MEMSET, CONFIG_ARCH_STRCMP, CONFIG_ARCH_STRCPY CONFIG_ARCH_MEMSET, CONFIG_ARCH_STRCMP, CONFIG_ARCH_STRCPY
@ -282,12 +294,12 @@ Supported Boards
configs/sim configs/sim
A user-mode port of NuttX to the x86 Linux platform is available. A user-mode port of NuttX to the x86 Linux platform is available.
The purpose of this port is primarily to support OS feature developement. The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete. round robin scheduler) Otherwise, it is complete.
NOTE: This target will not run on Cygwin probably for many reasons but NOTE: This target will not run on Cygwin probably for many reasons but
first off because it uses some of the same symbols as does cygwind.dll. first off because it uses some of the same symbols as does cygwin.dll.
configs/c5471evm configs/c5471evm
This is a port to the Spectrum Digital C5471 evaluation board. The This is a port to the Spectrum Digital C5471 evaluation board. The
@ -324,7 +336,7 @@ configs/pjrc-8051
configs/z16f2800100zcog configs/z16f2800100zcog
z16f Microncontroller. This port use the Zilog z16f2800100zcog z16f Microncontroller. This port use the Zilog z16f2800100zcog
development kit and the Zilog ZDS-II Windows command line tools. The development kit and the Zilog ZDS-II Windows command line tools. The
development envirnoment is Cygwin under WinXP. development environment is Cygwin under WinXP.
configs/z80zim configs/z80zim
z80 Microcontroller. This port uses a Z80 instruction set simulator. z80 Microcontroller. This port uses a Z80 instruction set simulator.
@ -341,14 +353,15 @@ Configuring NuttX
Configuring NuttX requires only copying Configuring NuttX requires only copying
configs/<board-name>/Make.def to ${TOPDIR}/Make.defs configs/<board-name>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
configs/<board-name>/setenv.sh to ${TOPDIR}/setenv.sh configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
configs/<board-name>/defconfig to ${TOPDIR}/.config configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
There is a script that automates these steps. The following steps will tools/configure.sh
accomplish the same configuration: There is a script that automates these steps. The following steps will
accomplish the same configuration:
cd tools cd tools
./configure.sh <board-name> ./configure.sh <board-name>/<config-dir>

View File

@ -4,15 +4,27 @@ README.txt
ZDS-II Compiler Versions ZDS-II Compiler Versions
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
The ZDS-II version 4.10.2 will not compiler NuttX. It reports "internal 4.10.2
errors" on some of the files. Upgreads to ZDS-II are available for download The ZDS-II version 4.10.2 will not compile NuttX. It reports "internal
from the Zilog website: http://www.zilog.com/software/zds2.asp errors" on some of the files. Upgrades to ZDS-II are available for
download from the Zilog website: http://www.zilog.com/software/zds2.asp
Thusfar, I have encountered no insolvable problems with the newer 4.11.0 4.11.0
version of the toolchain. NuttX compiles correctly with the newer 4.11.0 version of the ZDS-II
toolchain. However, I have found a few issues:
- The code will not run without the -reduceopt option. There is,
apparently, some optimization related issue. This issue has not
been analyzed as of this writing.
- Not all NuttX logic will not run with the -regvars option. There is
at least one failure that has been reported to ZiLOG as incident 81400.
- The Pascal add-on interpreter includes a large switch statement and
exposes another compiler problem. This is reported as incident 81459.
If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II
at anly location other than the default location, you will have to modify at any location other than the default location, you will have to modify
two files: (1) configs/z16f2800100zcog/*/setenv.sh and (2) two files: (1) configs/z16f2800100zcog/*/setenv.sh and (2)
configs/z16f2800100zcog/*/Make.defs. configs/z16f2800100zcog/*/Make.defs.
@ -45,4 +57,4 @@ available:
Configures to use examples/pashello for execution from FLASH Configures to use examples/pashello for execution from FLASH
See examples/README.txt for information about pashello. See examples/README.txt for information about pashello.
Check out any README.txt files in these <sub-directory>s. Check out any README.txt files in these <sub-directory>s.

View File

@ -6,7 +6,7 @@ The instruction set emulator can be found in the NuttX CVS at
http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
testing has been performed using verison 2.6.0 of the SDDC toolchain. testing has been performed using version 2.6.0 of the SDCC toolchain.
Configuring NuttX Configuring NuttX
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^