Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers

Cyclone V NEON

Altera_Forum
Honored Contributor II
1,319 Views

Hello all, 

There is a simple example with GCC settings for NEON? 

 

This simple program 

#include <arm_neon.h> //need to include this ifyou want to use intrinsics int main(){ uint8x8_t vector; return 0; }  

 

Using  

-mfpu=neon -ftree-vectorize 

GCC options give me errors: 

 

'Invoking: GCC C Compiler'arm-linux-gnueabihf-gcc -O0 -g3 -Wall -mfpu=neon -ftree-vectorize -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c" 'Finished building: ../main.c' ' ' 'Building target: HelloARM' 'Invoking: GCC C Linker' arm-linux-gnueabihf-gcc -o "HelloARM" ./main.o ./main.o: In function `_fini': :(.fini+0x0): multiple definition of `_fini' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crti.o:(.fini+0x0): first defined here ./main.o: In function `__data_start': :(.data+0x0): multiple definition of `__data_start' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.data+0x0): first defined here ./main.o: In function `__data_start': :(.data+0x4): multiple definition of `__dso_handle' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/crtbegin.o:(.data+0x0): first defined here ./main.o:(.rodata+0x0): multiple definition of `_IO_stdin_used' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.rodata.cst4+0x0): first defined here ./main.o: In function `_start': :(.text+0x0): multiple definition of `_start' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o:(.text+0x0): first defined here ./main.o: In function `_init': :(.init+0x0): multiple definition of `_init' c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crti.o:(.init+0x0): first defined here c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/crtend.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__' ./main.o::(.data+0x8): first defined here c:/altera/13.1/embedded/ds-5/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld.exe: ./main.o: access beyond end of merged section (33788) collect2.exe: error: ld returned 1 exit status make: *** Error 1
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
536 Views

When I insert "#include <arm_neon.h>" to HelloWorldLinux source hello.c, then arm-linux-gnueabihf-gcc (4.8.3) makes "#error" about using compiler switches "-mfloat-abi=softfp -mfpu=neon". 

These both swithes is ambiguous and cause another error, must be used only second "-mfpu=neon".
0 Kudos
Reply