ReleaseNotes v1.16 ================== 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.1 o gcc-4.6.3 + binutils-2.22 o gcc-4.7.4 + binutils-2.24 o gcc-4.8.5 + binutils-2.24 o gcc-4.9.4 + binutils-2.26.1 o gcc-5.5.0 + binutils-2.26.1 o gcc-6.4.0 + binutils-2.28.1 o gcc-7.3.0 + binutils-2.28.1 o gdb-6.3 o gdb-6.4 o gdb-6.8a o gdb-7.2.1 o gdb-7.9.1 o gdb-7.12.1 o gdb-8.0.1 See the ChangeLog of features/architectures added in v1.16. Installation instructions: - You must have already configured Nuttx in /nuttx - download the buildroot package into - unpack -cd /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.16 corresponds to GIT tag nuttx-7.24. 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 and above 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. ChangeLog ========= buildroot-1.15 2014-03-15 -------------------------------------------------- * Add support for LM32 toolchain (2016-11-01) * package/gnuconfig: Update the GNU config package (2016-11-02) * GDB 6.8 is no longer available. Use GDB 6.8a instead (2016-11-03). * Add missed library. From Anton D. Kachalov (2017-03-09). * Use proper value for soft-float configure option. Option '--without-float' produces variable `float=n' while it should be specific (hard/soft or so). From Anton D. Kachalov (2017-03-09). * Add support for Cortex-M1. From Anton D. Kachalov (2017-03-09). * Update tools - bump gcc 4.9.3 to 4.9.4 - grab gzip'd tarballs, gzip seems to be common across revs - bump gcc 5.4.0 to 5.5.0 - bump gcc 6.1.0 to 6.4.0 - add gcc 7.2.0 - add gdb 7.12.1 - add gdb 8.0.1 - add binutils 2.28.1 - ignore download dir and all vim swap files - config file: gcc 7.2.0 Cortex M4F hard-float, gdb 8.0.1 From David Alessio (2017-12-18).