update
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@659 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
63dfc73c7e
commit
54afe4dfa7
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^
|
||||||
|
Loading…
Reference in New Issue
Block a user