ReleaseNotes v1.14
==================
Supported GCC Toolchains
------------------------
This is a highly hacked up version of the buildroot (see
http://buildroot.uclibc.org/). It has been hacked so that it
can be used to build the following NuttX-compatible toolchains:
o arm-nuttx-elf toolchain needed for use with the TI C5471 (ARM7TDMI),
NXP LPC214x (ARM7TMDI), STMicro STR71x (ARM7TDMI), Freescale
i.MX1 (ARM920T), and TI DM320 (ARM926EJ-S) provided with the
NuttX releases.
NXFLAT toolchain for use with the ARM7 and ARM9.
o arm-nuttx-eabi ARM Cortex-M0 toolchain needed for use with
the NUC120 and Freescale KL ports provided with the NuttX releases.
o arm-nuttx-elf and arm-nuttx-eabi ARM Cortex-M3/4 (thumb2) toolchain needed
for use with the Freescale Kinetis and KL, TI Tiva/Stellaris LM3S, LM4F,
and TM4C, NXP LPC17xx, NXP LPC43xx, Atmel SAM3/4, and STMicro STM32 F1,
F2, F3 and F4 ports provided with the NuttX releases.
NXFLAT toolchain for use with the ARM Cortex-M3/4.
o arm-nuttx-eabi ARM Cortex-M4F (thumb2) toolchain needed for use with the
Tiva/Stellaris LM4F, and TM4C, NXP LPC43xx, Atmel SAM3/4, and STMicro
STM32 F3 and F3 ports provided with the NuttX releases.
NXFLAT toolchain for use with the ARM Cortex-M4F.
o arm-nuttx-elf and arm-nuttx-eabi ARM Cortex-A5/A8 toolchain needed
for use with the Atmel SAMA5D3x and Allwinner A10 ports provided
with the NuttX releases.
NXFLAT toolchain for use with the ARM Cortex-A5/8.
o avr-elf toolchain needed for use with the ATmega128 ports
provided with the NuttX releases.
o H8/300 toolchain (not currently used in any NuttX
configuration).
o i486-elf toochain. Why would you want such a thing? On Linux, of
course, such a thing is not needed because you can use the installed GCC
to build i486 ELF binaries. But that will not work under Cygwin! The
Cygwin toolchain (and probably MinGW), build DOS MZ format executables
(i.e., .exe files). That is probably not usable for most NuttX targets.
Instead, you should use this i486-elf-gcc to generate true ELF binaries
under Cygwin.
o bfin-elf toolchain not currently used in any NuttX
configuration).
o m68k-elf toolchain (not currently used in any NuttX
configuration).
o m68hc11-elf toolchain (not currently used in any NuttX
configuration).
o m68hc12-elf toolchain. (NOT RECOMMENDED for hcs12;
Use m9s12x-elf toolchain)
o m9s12x-elf toolchain Supports Freescale m9s12x using
binutils 2.18 and gcc 3.3.6 and patches available from
http://www.msextra.com/tools courtesy of James Cortina.
o m32c-elf toolchain needed for the Renesas M16C NuttX port.
o sh-elf toolchain needed for the SH-1 NuttX port.
Supported tool versions include:
o gcc-3.3.6 + binuils-2.18 (for m9s12x).
o gcc-3.4.6 + binutils-2.17
o gcc-4.2.4 + binutils-2.19
o gcc-4.3.3 + binutils-2.19.1
o gcc-4.5.2 + binutils-2.21/2.21.1
o gcc-4.6.3 + binutils-2.22
o gcc-4.7.3 + binutils-2.24
o gcc-4.8.2 + binutils-2.24
See the ChangeLog of features/architectures added in v1.13.
Installation instructions:
- You must have already configured Nuttx in <some-dir>/nuttx
- download the buildroot package into <some-dir>
- unpack -cd <some-dir>/buildroot
- cp configs/arm-defconfig .config
- make oldconfig
- make
See configs/README.txt for other configurations and for more detailed
instructions. If your NuttX installation resides at a different location
then:
- make menuconfig
And set the "Path to the NuttX root directory" appropriately.
Other Tools
-----------
In addition to the GCC toolchain, these tools may also be built by the
buildroot package:
- genromfs: Used to generate ROMFS file system images for NuttX
- kconfig-frontends: These tools are required by the NuttX
configuration system.
- NXFLAT tools: Special tools to build NXFLAT binary images
- sstrip: Used internally by the build root logic
Version Information
-------------------
buildroot release 1.13 corresponds to GIT tag nuttx-6.33.
NXFLAT Toolchain Build
----------------------
You can select to build the NXFLAT toolchain with GCC by selecting
the NXFLAT toolchin during the configuration process(you can also
select omit building GCC with and only build the NXFLAT toolchain
for use with your own GCC toolchain.
NOTES:
- NFFLAT is only available for ARM and Cortex-M3 architectures.
- The GCC 4.6.3 will not work with NXFLAT. See "Toolchain Compatibility
Problem" at http://www.nuttx.org/doku.php?id=wiki:vfs:nxflat for details.
- It has been reported to me that the issues with GCC 4.6.3 and NXFLAT
has been corrected in subsequent versions, but I have not personally
verified that.