mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 08:36:24 +08:00
select() fix to handl POLLHUP; STM32 FPU saving in context switches seems to be functional
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4420 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -32,6 +32,8 @@ Development Environment
|
|||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
Toolchain Configurations
|
||||||
|
------------------------
|
||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
@@ -91,12 +93,16 @@ GNU Toolchain Options
|
|||||||
If you have problems with the dependency build (for example, if you are not
|
If you have problems with the dependency build (for example, if you are not
|
||||||
building on C:), then you may need to modify tools/mkdeps.sh
|
building on C:), then you may need to modify tools/mkdeps.sh
|
||||||
|
|
||||||
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
|
The CodeSourcery Toolchain (2009q1)
|
||||||
|
-----------------------------------
|
||||||
|
The CodeSourcery toolchain (2009q1) does not work with default optimization
|
||||||
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
|
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
|
||||||
-Os.
|
-Os.
|
||||||
|
|
||||||
NOTE 2: The free, "Lite" version of the Atollic toolchain does not support C++
|
The Atollic "Lite" Toolchain
|
||||||
nor does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite"
|
----------------------------
|
||||||
|
The free, "Lite" version of the Atollic toolchain does not support C++ nor
|
||||||
|
does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite"
|
||||||
toolchain, you will have to set:
|
toolchain, you will have to set:
|
||||||
|
|
||||||
CONFIG_HAVE_CXX=n
|
CONFIG_HAVE_CXX=n
|
||||||
@@ -122,22 +128,24 @@ GNU Toolchain Options
|
|||||||
errors build some host binaries in tools/ when you first make. Here is my
|
errors build some host binaries in tools/ when you first make. Here is my
|
||||||
workaround kludge.
|
workaround kludge.
|
||||||
|
|
||||||
1. Edit the setenv.sh to put the Atollic toolchain at the beginning of the PATH
|
1. Edit the setenv.sh to put the Atollic toolchain at the beginning of the PATH
|
||||||
2. Source the setenv.sh file: . ./setenv.sh. A side effect of this is that it
|
2. Source the setenv.sh file: . ./setenv.sh. A side effect of this is that it
|
||||||
will set an environment variable called PATH_ORIG.
|
will set an environment variable called PATH_ORIG.
|
||||||
3. Then go back to the original patch: export PATH=$PATH_ORIG
|
3. Then go back to the original patch: export PATH=$PATH_ORIG
|
||||||
4. Then make. The make will build all of the host executable but will fail
|
4. Then make. The make will build all of the host executable but will fail
|
||||||
when it gets to the first ARM binary.
|
when it gets to the first ARM binary.
|
||||||
5. Then source setenv.sh again: . ./setenv.sh. That will correct the PATH
|
5. Then source setenv.sh again: . ./setenv.sh. That will correct the PATH
|
||||||
again. When you do make again, the host executables are already made and
|
again. When you do make again, the host executables are already made and
|
||||||
now the correct PATH is in place for the ARM build.
|
now the correct PATH is in place for the ARM build.
|
||||||
|
|
||||||
Also, the Atollic toolchain is the only toolchain that has built-in support for
|
Also, the Atollic toolchain is the only toolchain that has built-in support for
|
||||||
the FPU in these configurations. If you plan to use the Cortex-M4 FPU, you will
|
the FPU in these configurations. If you plan to use the Cortex-M4 FPU, you will
|
||||||
need to use the Atollic toolchain for now. See the FPU section below for more
|
need to use the Atollic toolchain for now. See the FPU section below for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
NOTE 3: The devkitARM toolchain includes a version of MSYS make. Make sure that
|
devkitARM
|
||||||
|
---------
|
||||||
|
The devkitARM toolchain includes a version of MSYS make. Make sure that the
|
||||||
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
path or will get the wrong version of make.
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ Development Environment
|
|||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
Toolchain Configurations
|
||||||
|
------------------------
|
||||||
The NuttX make system has been modified to support the following different
|
The NuttX make system has been modified to support the following different
|
||||||
toolchain options.
|
toolchain options.
|
||||||
|
|
||||||
@@ -90,12 +92,16 @@ GNU Toolchain Options
|
|||||||
If you have problems with the dependency build (for example, if you are not
|
If you have problems with the dependency build (for example, if you are not
|
||||||
building on C:), then you may need to modify tools/mkdeps.sh
|
building on C:), then you may need to modify tools/mkdeps.sh
|
||||||
|
|
||||||
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization
|
The CodeSourcery Toolchain (2009q1)
|
||||||
|
-----------------------------------
|
||||||
|
The CodeSourcery toolchain (2009q1) does not work with default optimization
|
||||||
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
|
level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
|
||||||
-Os.
|
-Os.
|
||||||
|
|
||||||
NOTE 2: The free, "Lite" version of the Atollic toolchain does not support C++
|
The Atollic "Lite" Toolchain
|
||||||
nor does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite"
|
----------------------------
|
||||||
|
The free, "Lite" version of the Atollic toolchain does not support C++ nor
|
||||||
|
does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite"
|
||||||
toolchain, you will have to set:
|
toolchain, you will have to set:
|
||||||
|
|
||||||
CONFIG_HAVE_CXX=n
|
CONFIG_HAVE_CXX=n
|
||||||
@@ -118,25 +124,27 @@ GNU Toolchain Options
|
|||||||
and g++.exe in the same bin/ file as their ARM binaries. If the Atollic bin/ path
|
and g++.exe in the same bin/ file as their ARM binaries. If the Atollic bin/ path
|
||||||
appears in your PATH variable before /usr/bin, then you will get the wrong gcc
|
appears in your PATH variable before /usr/bin, then you will get the wrong gcc
|
||||||
when you try to build host executables. This will cause to strange, uninterpretable
|
when you try to build host executables. This will cause to strange, uninterpretable
|
||||||
errors build some host binaries in tools/ when you first make. Here is my
|
errors build some host binaries in tools/ when you first make. Here is my
|
||||||
workaround kludge.
|
workaround kludge.
|
||||||
|
|
||||||
1. Edit the setenv.sh to put the Atollic toolchain at the beginning of the PATH
|
1. Edit the setenv.sh to put the Atollic toolchain at the beginning of the PATH
|
||||||
2. Source the setenv.sh file: . ./setenv.sh. A side effect of this is that it
|
2. Source the setenv.sh file: . ./setenv.sh. A side effect of this is that it
|
||||||
will set an environment variable called PATH_ORIG.
|
will set an environment variable called PATH_ORIG.
|
||||||
3. Then go back to the original patch: export PATH=$PATH_ORIG
|
3. Then go back to the original patch: export PATH=$PATH_ORIG
|
||||||
4. Then make. The make will build all of the host executable but will fail
|
4. Then make. The make will build all of the host executable but will fail
|
||||||
when it gets to the first ARM binary.
|
when it gets to the first ARM binary.
|
||||||
5. Then source setenv.sh again: . ./setenv.sh. That will correct the PATH
|
5. Then source setenv.sh again: . ./setenv.sh. That will correct the PATH
|
||||||
again. When you do make again, the host executables are already made and
|
again. When you do make again, the host executables are already made and
|
||||||
now the correct PATH is in place for the ARM build.
|
now the correct PATH is in place for the ARM build.
|
||||||
|
|
||||||
Also, the Atollic toolchain is the only toolchain that has built-in support for
|
Also, the Atollic toolchain is the only toolchain that has built-in support for
|
||||||
the FPU in these configurations. If you plan to use the Cortex-M4 FPU, you will
|
the FPU in these configurations. If you plan to use the Cortex-M4 FPU, you will
|
||||||
need to use the Atollic toolchain for now. See the FPU section below for more
|
need to use the Atollic toolchain for now. See the FPU section below for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
NOTE 3: The devkitARM toolchain includes a version of MSYS make. Make sure that
|
devkitARM
|
||||||
|
---------
|
||||||
|
The devkitARM toolchain includes a version of MSYS make. Make sure that the
|
||||||
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
|
||||||
path or will get the wrong version of make.
|
path or will get the wrong version of make.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user