Pointing to ARM Launchpad

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Pointing to ARM Launchpad

    I tried to use and could not. The user manual shows a list of ported template headers and it is not included. The latest GCC "Launchpad" does include this and GCC 5.x fully implements C++14 which is what I would like to do.

    Earlier on this forum I asked how I could point to other tools and was told I could do this by setting a single options setting but it seems that it is not this simple. The SES directory structure has as, cc1, and cc1plus etc in a single directory while the ARM directory has things scattered about:

    Source Code

    1. ./arm-none-eabi/bin/as
    2. ./bin/arm-none-eabi-as
    3. ./bin/arm-none-eabi-g++
    4. ./bin/arm-none-eabi-gcc
    5. ./lib/gcc/arm-none-eabi/5.4.1/cc1plus
    6. ./lib/gcc/arm-none-eabi/5.4.1/cc1


    Any advice as to how to point to these tools? I was hoping to leave the Launchpad structure intact. I may try to hack it with some symbolic links but I'm hoping this isn't necessary.

    Update:

    I created symbolic links to cc1 and cc1plus in GCC_LAUNCHPAD_ROOT/arm-none-eabi/bin. Then I set my toolchain directory to this value.

    I tried two versions:

    gcc-arm-none-eabi-4_9-2015q1

    gcc-arm-none-eabi-5_4-2016q2


    The first appears to build and run correctly. I can see the path to these files use for as, cc1, cc1plus.


    The second fails with:

    Source Code

    1. 1> Output/Hail.o: In function `Hail::~Hail()':
    2. 1> /Volumes/Development/louise/Application/Hail.cpp:263: undefined reference to `operator delete(void*, unsigned int)'
    3. 1> Output/Hail.o: In function `Hail::~Hail()':
    4. 1> /Volumes/Development/louise/Application/Hail.cpp:263: undefined reference to `operator delete(void*, unsigned int)'
    5. 1> Output/DMA.o: In function `DMA::Object::~Object()':
    6. 1> /Volumes/Development/louise/ST/DMA.cpp:102: undefined reference to `operator delete(void*, unsigned int)'


    I suspect library incompatibility:

    Source Code

    1. "/Applications/SEGGER Embedded Studio 2.20/lib/libdebugio_mempoll_v7em_fpv4_sp_d16_t_le_eabi.a" "/Applications/SEGGER Embedded Studio 2.20/lib/libm_v7em_fpv4_sp_d16_t_le_eabi.a""/Applications/SEGGER Embedded Studio 2.20/lib/libc_v7em_fpv4_sp_d16_t_le_eabi.a""/Applications/SEGGER Embedded Studio 2.20/lib/libcpp_v7em_fpv4_sp_d16_t_le_eabi.a""/Applications/SEGGER Embedded Studio 2.20/lib/libdebugio_v7em_fpv4_sp_d16_t_le_eabi.a""/Applications/SEGGER Embedded Studio 2.20/lib/libvfprintf_v7em_fpv4_sp_d16_t_le_eabi.o""/Applications/SEGGER Embedded Studio 2.20/lib/libvfscanf_v7em_fpv4_sp_d16_t_le_eabi.o"


    What is the recommended way to point to the correct libraries?

    The post was edited 3 times, last by Kenny ().

  • What is the recommended way to point to the correct libraries?
    You can set the libraries in the Project Options -> Linker -> Library.

    Regards
    Johannes
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.