Errors compiling MTDOT-BOX factory firmware using mbed CLI

Home Forums mDot/xDot Errors compiling MTDOT-BOX factory firmware using mbed CLI

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #21532
    Arty29
    Participant

    Hello,

    I am trying to build the factory firmware for the MTDOT-BOX using the mbed CLI and I am running into a lot of linker errors that seem to be related to the mDot library for mbed 5.

    After first configuring mbed CLI I then imported the project using the following:
    mbed import https://os.mbed.com/teams/MultiTech/code/MTDOT-BOX-EVB-Factory-Firmware/

    I then compiled the project using the following:
    mbed compile -t GCC_ARM -m MTS_MDOT_F411RE

    There were some warnings generated during compiling but it did compile successfully. However there are a large number of “undefined reference to” errors which all appear to be symbols that should be present in the mDot library (libmDot-GCC_ARM.a). As far as I can tell, that library is being linked in, but I’m wondering if it is not compatible with the toolchain that I am using (arm-none-eabi-gcc.exe (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437])

    An excerpt of the mbed CLI output is as follows:

    `…

    Compile [ 99.4%]: us_ticker.c
    Compile [ 99.7%]: stm_spi_api.c
    Compile [100.0%]: test_env.cpp
    Link: MTDOT-BOX-EVB-Factory-Firmware
    ./BUILD/MTS_MDOT_F411RE/GCC_ARM/./main.o: In function `mainMenu()’:
    main.cpp:(.text._Z8mainMenuv+0xa2): undefined reference to `mDot::FrequencyBandStr[abi:cxx11](unsigned char)’
    ./BUILD/MTS_MDOT_F411RE/GCC_ARM/CommandTerminal/CmdData.o: In function `CmdData::action(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)’:

    …`

    Can anyone suggest what I could be doing wrong here?

    Thank you.

    #21533
    Ryan Klaassen
    Blocked

    Hello Arty29,

    Due to some I2C issues, the MTDOT-BOX should be built with mbed-os-5.1.4. The dot library should also have been compiled with mbed-os-5.1.4. The toolchain used with mbed-os-5.1.4 is gcc 4.9.

    Let me know if this fixes your issues.

    Thanks,

    Ryan

    #21540
    Arty29
    Participant

    Hi Ryan,

    I started by simply using the older GNU ARM Embedded toolchain
    (GNU ARM Embedded Toolchain 4.9-2015-q3-update”).
    That seems to have done the trick and the build completes successfully using whatever versions of mbed-os and libmDot-dev-mbed5 are imported with the project using mbed CLI.

    I have yet to try and execute the code but at least I can create a binary image now.

    Thank you for your help.

    • This reply was modified 6 years, 4 months ago by Arty29. Reason: link removed, replaced by text
Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.