We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
I am a new TI Sitara user for an embedded project. I have installed Sitara Linux SDK, which has the Linaro Toolchain. I want to use NE10 simply for DSP algorithm. Thus, it needs to set variable
GNULINUX_PLATFORM? (But I do not know how to set it)
It is not directly for Android. Excuse me for this non-Android question because I cannot find other appropriate forum for that.
After export the path:
SDK_INSTALL_DIR=$HOME/ti-sdk-am335x-evm-06.00.00.00
export PATH="$SDK_INSTALL_DIR/linux-devkit/sysroots/i686-arago-linux/usr/bin:$PATH"
the toolchain is verified that I can run it by:
But I still cannot build the NE10 library, please see the below message. I am new to GCC environment. Could you give me more detail information on Cmake or something other modification needed?
Regards,
........................
robert@robert-M5100:~/projectNe10-Ne10-4167142/build$ make
[ 1%] Building C object modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o
cc1: error: unrecognized command line option ‘-mthumb-interwork’
cc1: error: unrecognized command line option ‘-mthumb’
cc1: error: unrecognized command line option ‘-mfpu=vfp3’
/home/robert/projectNe10-Ne10-4167142/modules/math/NE10_abs.c:1:0: error: bad value (armv7-a) for -march= switch
make[2]: *** [modules/CMakeFiles/NE10.dir/math/NE10_abs.c.o] Error 1
make[1]: *** [modules/CMakeFiles/NE10.dir/all] Error 2
make: *** [all] Error 2
robert@robert-M5100:~/projectNe10-Ne10-4167142/build$ cmake -DCMAKE_TOOLCHAIN_FILE=../config.cmake ..
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_TOOLCHAIN_FILE
-- Build files have been written to: /home/robert/projectNe10-Ne10-4167142/build
robert@robert-M5100:~/projectNe10-Ne10-4167142/build$
Hi
I think you need to modify the "GNUlinux_config.cmake" according to your toolchain.
Currently the hard float support has been added into Ne10 library.
Take hard float Linaro gcc 4.8 as an example, you need to do:
1. modify the "GNUlinux_config.cmake"
set(GNULINUX_PLATFORM ON)
set(CMAKE_C_COMPILER arm-linux-gnueabi-gcc) ===>>>set(CMAKE_C_COMPILER \your_toolchain_path\arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER arm-linux-gnueabi-g++) ===>>>set(CMAKE_CXX_COMPILER \your_toolchain_path\arm-linux-gnueabihf-g++)
set(CMAKE_ASM_COMPILER arm-linux-gnueabi-as)===>>>set(CMAKE_ASM_COMPILER \your_toolchain_path\arm-linux-gnueabihf-as)
find_program(CMAKE_AR NAMES "arm-linux-gnueabi-ar") ===>>>find_program(CMAKE_AR NAMES "\your_toolchain_path\arm-linux-gnueabihf-ar") mark_as_advanced(CMAKE_AR)
find_program(CMAKE_RANLIB NAMES "arm-linux-gnueabi-ranlib") ===>>>find_program(CMAKE_RANLIB NAMES "\your_toolchain_path\arm-linux-gnueabihf-ranlib")
mark_as_advanced(CMAKE_RANLIB)
2. build Ne10 with cmake
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../GNUlinux_config.cmake ..
make
Note: if you are building for Android, you need to add -DNE10_ARM_HARD_FLOAT=ON
then the Ne10 library is built