GNU ARM - nano.specs not found

17,904

Solution 1

I solved the problem. I was just using arm-none-eabi-xxx packages provided by Ubuntu, not original ones - that was the problem. All you need to do is simply download packages from toolchain's website and install them. They work just fine!

Solution 2

Optional step

If you have installed the bundled toolchain from Ubuntu's repositories - get rid of them:

$ sudo apt-get remove gcc-arm-none-eabi

Recommended way to install

This is described on the plugin's page:

http://gnuarmeclipse.github.io/toolchain/install/

-> with an exact description what packages are needed for your specific edition (14.04 LTS, x64 in this case).

First, install 32-bit dependency libraries:

$ sudo apt-get -y install lib32z1 lib32ncurses5 lib32bz2-1.0

(15.04 - and later? - need just lib32ncurses5, while older Ubuntus - 12.04 e.a. - have ia32-libs).

Then download a pre-compiled toolchain package from here:

https://launchpad.net/gcc-arm-embedded/+download

(they recommend gcc 4.9 at the time of writing, but it should be OK to take the newest, gcc 5.3 version).

Recommended install location

Finally untar the package into /usr/local - this way the Eclipse plugin should find it, without configuring toolchains in Eclipse preferences or modifying $PATH variable.

$ cd /usr/local
$ sudo tar xf ~/Downloads/gcc-arm-none-eabi-*-linux.tar.bz2
Share:
17,904
Jacajack
Author by

Jacajack

Updated on June 18, 2022

Comments

  • Jacajack
    Jacajack almost 2 years

    Last days I've been trying to compile a STM32F4xx project with Ubuntu 14.04LTS, Eclipse and GNU ARM plugin for Eclipse. Now it says that nano.specs is missing. Here is my build log:

    14:39:35 **** Incremental Build of configuration Release for project F4Test ****
    make all 
    Building target: F4Test.elf
    Invoking: Cross ARM C++ Linker
    arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=soft -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -Wextra  -g -T mem.ld -T libs.ld -T sections.ld -nostartfiles -Xlinker --gc-sections -L"../ldscripts" -Wl,-Map,"F4Test.map" --specs=nano.specs -o "F4Test.elf"  ./system/src/stm32f4-hal/stm32f4xx_hal.o ./system/src/stm32f4-hal/stm32f4xx_hal_cortex.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_flash_ramfunc.o ./system/src/stm32f4-hal/stm32f4xx_hal_gpio.o ./system/src/stm32f4-hal/stm32f4xx_hal_iwdg.o ./system/src/stm32f4-hal/stm32f4xx_hal_pcd_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_pwr.o ./system/src/stm32f4-hal/stm32f4xx_hal_pwr_ex.o ./system/src/stm32f4-hal/stm32f4xx_hal_rcc.o ./system/src/stm32f4-hal/stm32f4xx_hal_rcc_ex.o  ./system/src/newlib/_cxx.o ./system/src/newlib/_exit.o ./system/src/newlib/_sbrk.o ./system/src/newlib/_startup.o ./system/src/newlib/_syscalls.o ./system/src/newlib/_write.o ./system/src/newlib/assert.o  ./system/src/diag/Trace.o ./system/src/diag/trace_impl.o  ./system/src/cortexm/_initialize_hardware.o ./system/src/cortexm/_reset_hardware.o ./system/src/cortexm/exception_handlers.o  ./system/src/cmsis/system_stm32f4xx.o ./system/src/cmsis/vectors_stm32f4xx.o  ./src/BlinkLed.o ./src/Timer.o ./src/_initialize_hardware.o ./src/main.o   
    arm-none-eabi-g++: error: nano.specs: No such file or directory
    make: *** [F4Test.elf] Error 1
    
    14:39:35 Build Finished (took 65ms)
    

    I found some nano.specs files on my computer. What should I do? Just remove linker flag (I can't actually do that, because I can't figure out how to do that in Eclipse) or something else? Thanks for your help!

  • Tomasz Gandor
    Tomasz Gandor almost 8 years
    Great. Any advice about how to install this toolchain? Do I need to uninstall some packages and then unpack it somewhere? I am also using Eclipse as my IDE.
  • Jacajack
    Jacajack almost 8 years
    Very nice answer! This is exactly what I did after facing the problem. I can see you found out how to install everything but if anyone is interested, this is video that helped me a lot, when I was setting everything up