Hi,
I had a question regarding how to interpret an error message I received when building SDK project in MCUXpresso IDE, which accesses a linked lib. The SDK was created for use on the i.MXRT1050 EVK. The lib was built under linux using gnu toolchain for ARM Cortex M7 bare metal. I have added the lib and path in IDE.
Initially I verified that I could build a simple hello world program, without any lib access. I then added some calls into the libvpx and got the following error message. Any help interpreting the message is appreciated.
Thanks
Ed
----------------------------------------------------------------------------------------------------------------------------------
...
Finished building: ../board/clock_config.c
Finished building: ../board/board.c
Finished building: ../board/pin_mux.c
Finished building: ../CMSIS/system_MIMXRT1052.c
---------------------------------------------------------------------------------------------------------------------------------------
some additional info:
i.MX RT1052
SDK for MIMXRT1052
MCUXpresso IDE v10.2.0
Windows 7 professional (MCUXpresso environment)
Linux Ubuntu (lib build environment)
已解决! 转到解答。
After a bit of investigation...
Looks like you are trying to link with a version of libvpx built for Ubuntu/x86 and not for ARM/Cortex-M7.
This is what I did:
I extracted the .o files from the archive and ran arm-none-eabi-nm, which gives the "File format not recognised" error.
I then ran nm on a Linux host and it gave me the correct symbols...
After a bit of investigation...
Looks like you are trying to link with a version of libvpx built for Ubuntu/x86 and not for ARM/Cortex-M7.
This is what I did:
I extracted the .o files from the archive and ran arm-none-eabi-nm, which gives the "File format not recognised" error.
I then ran nm on a Linux host and it gave me the correct symbols...
The message seems quite self explanatory to me. The library file is not in a format that the tools recognise. So,how to solve? It would be good if you can
- post the exact version number of the gcc used to create the library
- post an example command line of how you compiled one of the .o files in the library
- post the command line used to build the library
it probably also worth double checking that the library has not been corrupted in copying it from Linux to windows. Is it the exact same size? Is the md5 sum the same?
The message seems quite self explanatory to me. The library file is not in a format that the tools recognise. So,how to solve? It would be good if you can
- post the exact version number of the gcc used to create the library
GNU ARM Embedded Toolchain Version: 7-2018-q2-update Linux 64 bit
link to toolchain used: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
- post an example command line of how you compiled one of the .o files in the library
- post the command line used to build the library
See attached configure shell script and makefile used:
it probably also worth double checking that the library has not been corrupted in copying it from Linux to windows. Is it the exact same size? Is the md5 sum the same?
They are the same size doesn't look like it was corrupted.
Those files don't help me - without running the scripts/makefile I cannot easily see what command line options are being used on the compiler and archiver (and I don't have time to read through them and work it out). Can you post the output from the build of the library - containing the command lines used to build each file (and not just 'Building xyzzy...).
Alternatively, post the .a file (zipped) and I'll see what the library contains.