This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6421: I created an FFT using Ne10 but cannot link the library.

Expert 2790 points
Part Number: AM6421


Tool/software:

HI All,

Created and compiled ‘Hello_world’ with A53 core in CCS.
I created an FFT using NE10 and cannot link the static library.
How can I link them?

1. build NE10 using Ubuntu 24.02LTS on WSL2
  ・Install nix platform, cmake, gcc and g++.
       ・DL a clone of NE10 from Git.
  ・Execute cmake→make according to the documentation.
  ・The library libNE10.a is created.
2. Create ‘Hello_world’ in CCS. 
3. Paste ‘libNe10.a’ and the inc folder of NE10 into the project.
4. Register ‘libNe10.a’ in the linker library from the project properties.
5, Create the FFT section with reference to the NE10 sample.
6. Compile error

Best Regards,

Ito

  • Hi All,

    I tried running it on Ubuntu on VartualBox, but I still get an error.

    Best Regards,

    Ito

  • Hi Ito,

    I am not able to read the complete error logs coming on console.

    Please copy the complete error logs and paste it here.

    Regards,

    Tushar

  • Hi Tushar,

    This is the error logs.

    [0]**** Build of configuration Debug for project hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64 **** 
    [1]/home/user01/ti/ccs2011/ccs/utils/bin/gmake -k -j 3 all -O
    [2]Building target: "hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out"
    [3]Invoking: GNU Linker
    [4]"/home/user01/ti/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc-10.3.1" -DSOC_AM64X -D_DEBUG_=1 -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -mcpu=cortex-a53+fp+simd -Wl,-Map,"hello_world.Debug.map" -static -Wl,--gc-sections -L"/home/user01/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/nortos/lib" -L"/home/user01/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -L"/home/user01/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -L"/lib" -L"/home/user01/ti/Ne10/build/modules" -Wl,--build-id=none -o"hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./hello_world.o" "./main.o" -Wl,-T"../linker.cmd" -Wl,--start-group -l:libNE10.a -lstdc++ -lgcc -lm -lrdimon -l:nortos.am64x.a53.gcc-aarch64.debug.lib -l:drivers.am64x.a53.gcc-aarch64.debug.lib -lc -Wl,--end-group
    [5]makefile:154: recipe for target 'hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out' failed
    [6]/home/user01/ti/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/../lib/gcc/aarch64-none-linux-gnu/10.3.1/../../../../aarch64-none-linux-gnu/bin/ld: cannot find -lrdimon
    [7]collect2: Error: ld terminated with status 1
    [8]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [9]makefile:150: recipe for target 'all' failed
    [10]gmake: *** [all] Error 2
    [11]**** Build Finished ****

    Best Regards,

    Ito

  • Hi Ito,

    Please check the linker option in your project properties and make sure you have rdimon flag listed.

    Please refer below image.

    Regards,

    Tushar

  • Hi Tushar,

    Thank you for your reply.

    Rdimon is located in the library

    Best Regards,

    Ito

  • Hi Ito,

    Looks like you are not using the compiler recommended on SDK documentation.

    Please use the exact version of tools mentioned on SDK docs. Please refer SDK_DOWNLOAD.

    Please use GGC AARCH v 09.02-2019.12.

    Regards,

    Tushar

  • Hi Tushar,

    Thank you for your reply.

    I have set the compiler to the recommended compiler, but I get an error.
    What is the cause?

    [0]**** Build of configuration Debug for project hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64 **** [1]/home/n564/ti/ccs2011/ccs/utils/bin/gmake -k -j 3 all -O 
     
    [2]Building file: "../example.syscfg"
    [3]Invoking: SysConfig
    [4]"/home/n564/ti/sysconfig_1.21.2/sysconfig_cli.sh" --script "/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/example.syscfg" -o "syscfg" -s "/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/.metadata/product.json" -p "ALV" -r "Default" --context "a53ss0-0" --compiler gcc
    [5]Warning: SysConfig has been updated to use standard TI part numbers. The device AM6442 has been automatically selected. If this is not the desired please open SysConfig to change it.
    [6]Running script...
    [7]Validating...
    [8]info: /kernel/dpl/debug_log uartLog.baudRate: Actual Baudrate Possible: 115385 (0 % error) [9]Generating Code (example.syscfg)...
    [10]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_dpl_config.c...
    [11]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_dpl_config.h...
    [12]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_drivers_config.c...
    [13]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_drivers_config.h...
    [14]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_drivers_open_close.c...
    [15]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_drivers_open_close.h...
    [16]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_pinmux_config.c...
    [17]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_power_clock_config.c...
    [18]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_board_config.c...
    [19]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_board_config.h...
    [20]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_board_open_close.c...
    [21]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_board_open_close.h...
    [22]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_config.c...
    [23]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_config.h...
    [24]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_open_close.c...
    [25]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_open_close.h...
    [26]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_soc.c...
    [27]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_lwipif.c...
    [28]Writing /home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg/ti_enet_lwipif.h...
    [29]Finished building: "../example.syscfg"
     
    [30]Building file: "syscfg/ti_drivers_open_close.c"
    [31]Invoking: GNU Compiler
    [32]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_drivers_open_close.d_raw" -MT"syscfg/ti_drivers_open_close.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_drivers_open_close.o" "syscfg/ti_drivers_open_close.c"
    [33]Finished building: "syscfg/ti_drivers_open_close.c"
     
    [34]Building file: "syscfg/ti_drivers_config.c"
    [35]Invoking: GNU Compiler
    [36]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_drivers_config.d_raw" -MT"syscfg/ti_drivers_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_drivers_config.o" "syscfg/ti_drivers_config.c"
    [37]Finished building: "syscfg/ti_drivers_config.c"
     
    [38]Building file: "syscfg/ti_dpl_config.c"
    [39]Invoking: GNU Compiler
    [40]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_dpl_config.d_raw" -MT"syscfg/ti_dpl_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_dpl_config.o" "syscfg/ti_dpl_config.c"
    [41]Finished building: "syscfg/ti_dpl_config.c"
     
    [42]Building file: "syscfg/ti_board_config.c"
    [43]Invoking: GNU Compiler
    [44]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_board_config.d_raw" -MT"syscfg/ti_board_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_board_config.o" "syscfg/ti_board_config.c"
    [45]Finished building: "syscfg/ti_board_config.c"
     
    [46]Building file: "syscfg/ti_power_clock_config.c"
    [47]Invoking: GNU Compiler
    [48]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_power_clock_config.d_raw" -MT"syscfg/ti_power_clock_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_power_clock_config.o" "syscfg/ti_power_clock_config.c"
    [49]Finished building: "syscfg/ti_power_clock_config.c"
     
    [50]Building file: "syscfg/ti_pinmux_config.c"
    [51]Invoking: GNU Compiler
    [52]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_pinmux_config.d_raw" -MT"syscfg/ti_pinmux_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_pinmux_config.o" "syscfg/ti_pinmux_config.c"
    [53]Finished building: "syscfg/ti_pinmux_config.c"
     
    [54]Building file: "syscfg/ti_enet_config.c"
    [55]Invoking: GNU Compiler
    [56]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_enet_config.d_raw" -MT"syscfg/ti_enet_config.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_enet_config.o" "syscfg/ti_enet_config.c"
    [57]Finished building: "syscfg/ti_enet_config.c"
     
    [58]Building file: "syscfg/ti_enet_open_close.c"
    [59]Invoking: GNU Compiler
    [60]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_enet_open_close.d_raw" -MT"syscfg/ti_enet_open_close.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_enet_open_close.o" "syscfg/ti_enet_open_close.c"
    [61]Finished building: "syscfg/ti_enet_open_close.c"
     
    [62]Building file: "syscfg/ti_enet_soc.c"
    [63]Invoking: GNU Compiler
    [64]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_enet_soc.d_raw" -MT"syscfg/ti_enet_soc.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_enet_soc.o" "syscfg/ti_enet_soc.c"
    [65]Finished building: "syscfg/ti_enet_soc.c"
     
    [66]Building file: "syscfg/ti_board_open_close.c"
    [67]Invoking: GNU Compiler
    [68]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_board_open_close.d_raw" -MT"syscfg/ti_board_open_close.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_board_open_close.o" "syscfg/ti_board_open_close.c"
    [69]Finished building: "syscfg/ti_board_open_close.c"
     
    [70]Building file: "syscfg/ti_enet_lwipif.c"
    [71]Invoking: GNU Compiler
    [72]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"syscfg/ti_enet_lwipif.d_raw" -MT"syscfg/ti_enet_lwipif.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"syscfg/ti_enet_lwipif.o" "syscfg/ti_enet_lwipif.c"
    [73]Finished building: "syscfg/ti_enet_lwipif.c"
     
    [74]Building file: "../hello_world.c"
    [75]Invoking: GNU Compiler
    [76]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"hello_world.d_raw" -MT"hello_world.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"hello_world.o" "../hello_world.c"
    [77]Finished building: "../hello_world.c"
     
    [78]Building file: "../main.c"
    [79]Invoking: GNU Compiler
    [80]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -c -mcpu=cortex-a53+fp+simd -DSOC_AM64X -D_DEBUG_=1 -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/inc" -I"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source" -I"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/aarch64-none-elf/include" -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mabi=lp64 -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -MMD -MP -MF"main.d_raw" -MT"main.o" -I"/home/n564/workspace_ccstheia/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Debug/syscfg"   -o"main.o" "../main.c"
    [81]Finished building: "../main.c"
     
    [82]Building target: "hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out"
    [83]Invoking: GNU Linker
    [84]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -DSOC_AM64X -D_DEBUG_=1 -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -mcpu=cortex-a53+fp+simd -Wl,-Map,"hello_world.Debug.map" -static -Wl,--gc-sections -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/nortos/lib" -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -L"/lib" -L"/home/n564/ti/Ne10/build/modules" -L"/lib" -Wl,--build-id=none -o"hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./hello_world.o" "./main.o" -Wl,-T"../linker.cmd"  -Wl,--start-group -l:libNE10.a -lstdc++ -lgcc -lm -lrdimon -l:nortos.am64x.a53.gcc-aarch64.debug.lib -l:drivers.am64x.a53.gcc-aarch64.debug.lib -lc -Wl,--end-group
    [85]makefile:154: recipe for target 'hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out' failed
    [86]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: can not size stub section: invalid operation
    [87]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_init.c.o): in function `ne10_init':
    [88]NE10_init.c:(.text+0xa0): undefined reference to `__ctype_tolower_loc'
    [89]NE10_init.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__ctype_tolower_loc'
    [90]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.c.o): in function `ne10_img_boxfilter_rgba8888_c':
    [91]NE10_boxfilter.c:(.text+0x9e0): undefined reference to `stderr'
    [92]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.c:(.text+0x9e4): undefined reference to `stderr'
    [93]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.c:(.text+0xa18): undefined reference to `__fprintf_chk'
    [94]NE10_boxfilter.c:(.text+0xa18): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [95]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_col_neon':
    [96]NE10_boxfilter.neon.c:(.text+0x5c4): undefined reference to `stderr'
    [97]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5c8): undefined reference to `stderr'
    [98]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5f8): undefined reference to `__fprintf_chk'
    [99]NE10_boxfilter.neon.c:(.text+0x5f8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [100]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_rgba8888_neon':
    [101]NE10_boxfilter.neon.c:(.text+0x780): undefined reference to `stderr'
    [102]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x784): undefined reference to `stderr'
    [103]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x7b8): undefined reference to `__fprintf_chk'
    [104]NE10_boxfilter.neon.c:(.text+0x7b8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [105]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
    [106]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: final link failed: file in wrong format
    [107]collect2: error: ld returned 1 exit status
    [108]makefile:150: recipe for target 'all' failed
    [109]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [110]gmake: *** [all] Error 2
    [111]**** Build Finished ****
    

    Best Regards,

    Ito

  • Hi Ito,

    It seems your code contains too much symbols that are unreferenced or undefined. Please check the code properly and define all the symbols used.

    Please see the below error logs for undefined symbols extracted from your shared logs.

    [88]NE10_init.c:(.text+0xa0): undefined reference to `__ctype_tolower_loc'
    [89]NE10_init.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__ctype_tolower_loc'
    [90]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.c.o): in function `ne10_img_boxfilter_rgba8888_c':
    [91]NE10_boxfilter.c:(.text+0x9e0): undefined reference to `stderr'
    [92]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.c:(.text+0x9e4): undefined reference to `stderr'
    [93]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.c:(.text+0xa18): undefined reference to `__fprintf_chk'
    [94]NE10_boxfilter.c:(.text+0xa18): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [95]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_col_neon':
    [96]NE10_boxfilter.neon.c:(.text+0x5c4): undefined reference to `stderr'
    [97]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5c8): undefined reference to `stderr'
    [98]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5f8): undefined reference to `__fprintf_chk'
    [99]NE10_boxfilter.neon.c:(.text+0x5f8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [100]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/ti/Ne10/build/modules/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_rgba8888_neon':
    [101]NE10_boxfilter.neon.c:(.text+0x780): undefined reference to `stderr'
    [102]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x784): undefined reference to `stderr'
    [103]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x7b8): undefined reference to `__fprintf_chk'
    [104]NE10_boxfilter.neon.c:(.text+0x7b8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [105]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
    [106]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: final link failed: file in wrong format
    [107]collect2: error: ld returned 1 exit status
    [108]makefile:150: recipe for target 'all' failed
    [109]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [110]gmake: *** [all] Error 2
    [111]**** Build Finished ****

    Regards,

    Tushar

  • Hi Tushar,

    Thank you for your reply.

    Undefined symbols, but they are defined in standard libraries such as <stdio.h> and <ctype.h>.
    I checked the source file and it instructs to include the above standard libraries.

    The Undefind is appearing when linking the Ne10 library.
    As I have not made any changes to the Ne10 source etc., it is probably a CCS setting or a problem when Ne10 was created.

    The Ne10 library file was created using the DL from the following site and following the documentation in the DL file.

    Follow the procedures in this library.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1496847/am6411-is-it-possible-to-operate-the-complex-fft-with-2048-or-4096-pt/5750028 

    GitHub - projectNe10/Ne10: An open optimized software library project for the ARM® Architecture

    Best Regards,

    Ito

  • Hi Ito,

    Have you added this library to the project configuration?

    It may possible that the linker is throwing error because it could not find the library and unable to link the symbols.

    Regards,

    Tushar

  • Hi Thakur,

    This is the linker library that was not displayed last time.

    What specific steps do I need to take to debug?

    And is there any other information you would like?

    Best Regards,

    Ito

  • Hi Ito,

    From the above screenshot it looks like the path you are using to find Ne10 library is incorrect.

    Please use ${PROJECT_ROOT}/Ne10/inc instead of ${PROJECT_ROOT}/Ne10/ in the library search path.

    Regards,

    Tushar

  • HI Tushar

    The same error was confirmed.

    [0]**** Build of configuration Debug for project hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64 ****
    [1]/home/n564/ti/ccs2011/ccs/utils/bin/gmake -k -j 3 all -O 
     
    [2]Building target: "hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out"
    [3]Invoking: GNU Linker
    [4]"/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -DSOC_AM64X -D_DEBUG_=1 -Ofast -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -mcpu=cortex-a53+fp+simd -Wl,-Map,"hello_world.Debug.map" -static -Wl,--gc-sections -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/nortos/lib" -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -L"/home/n564/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -L"/lib" -L"/home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10" -L"/home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/inc" -Wl,--build-id=none -o"hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./hello_world.o" "./main.o" -Wl,-T"../linker.cmd"  -Wl,--start-group -lstdc++ -lgcc -lm -lrdimon -l:nortos.am64x.a53.gcc-aarch64.debug.lib -l:drivers.am64x.a53.gcc-aarch64.debug.lib -lc -l:libNE10.a -Wl,--end-group   ../Ne10/libNE10.a 
    [5]makefile:156: recipe for target 'hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out' failed
    [6]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: can not size stub section: invalid operation
    [7]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/libNE10.a(NE10_init.c.o): in function `ne10_init':
    [8]NE10_init.c:(.text+0xa0): undefined reference to `__ctype_tolower_loc'
    [9]NE10_init.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__ctype_tolower_loc'
    [10]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x148): undefined reference to `stderr'
    [11]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x14c): undefined reference to `stderr'
    [12]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x174): undefined reference to `stderr'
    [13]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x178): undefined reference to `stderr'
    [14]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x1a0): undefined reference to `stderr'
    [15]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/libNE10.a(NE10_init.c.o):NE10_init.c:(.text+0x1a4): more undefined references to `stderr' follow
    [16]makefile:152: recipe for target 'all' failed
    [17]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/libNE10.a(NE10_boxfilter.c.o): in function `ne10_img_boxfilter_rgba8888_c':
    [18]NE10_boxfilter.c:(.text+0xa18): undefined reference to `__fprintf_chk'
    [19]NE10_boxfilter.c:(.text+0xa18): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [20]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_col_neon':
    [21]NE10_boxfilter.neon.c:(.text+0x5c4): undefined reference to `stderr'
    [22]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5c8): undefined reference to `stderr'
    [23]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5f8): undefined reference to `__fprintf_chk'
    [24]NE10_boxfilter.neon.c:(.text+0x5f8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [25]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/n564/workspace_ccstheia/Test_20250430/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_rgba8888_neon':
    [26]NE10_boxfilter.neon.c:(.text+0x780): undefined reference to `stderr'
    [27]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x784): undefined reference to `stderr'
    [28]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x7b8): undefined reference to `__fprintf_chk'
    [29]NE10_boxfilter.neon.c:(.text+0x7b8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [30]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
    [31]/home/n564/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: final link failed: file in wrong format
    [32]collect2: error: ld returned 1 exit status
    [33]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [34]gmake: *** [all] Error 2
    [35]**** Build Finished ****
    

    Best Regards,

    Ito

  • Hi Ito,

    Can you please tell where the below functions are defined?

    __fprintf_chk, stderr.

    Have you included the stdio.h lib in the code?

    Regards,

    Tushar

  • HI Tushar

    Defined in Ne10 library side.
    NE10_init.c
    NE10_boxfilter.neon.c

    Have you included the stdio.h lib in the code?

    Yes, included.

    Best Regards,

    Ito

  • Hi Ito,

    Please provide sample code to replicate the issue at our end for further debug.

    Regards,

    Tushar

  • Hi Tushar,

    I have sent you the project file in a private message, please check it.

    Best Regards,

    Ito

  • Hi Ito,

    I have checked the project and it seems most of the error are generated from NE10_init.c.

    Can you please check whether the stdlib.h file is included in Ne10_init.c file or not?

    Regards,

    Tushar

  • Hi Tushar,

    The stdlib.h file was not included in Ne10_init.c, so it has been added.
    However, the same error seems to occur.

    [6]Building target: "hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out"
    [7]Invoking: GNU Linker
    [8]"/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -DSOC_AM64X -D_DEBUG_=1 -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -mcpu=cortex-a53+fp+simd -Wl,-Map,"hello_world.Debug.map" -static -Wl,--gc-sections -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/nortos/lib" -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -L"/lib" -L"/home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc" -Wl,--build-id=none -o"hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./hello_world.o" "./main.o" -Wl,-T"../linker.cmd"  -Wl,--start-group -lstdc++ -lgcc -lm -lrdimon -l:nortos.am64x.a53.gcc-aarch64.debug.lib -l:drivers.am64x.a53.gcc-aarch64.debug.lib -lc -l:libNE10.a -Wl,--end-group   ../Ne10_inc/libNE10.a 
    [9]makefile:156: recipe for target 'hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out' failed
    [10]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: can not size stub section: invalid operation
    [11]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_init.c.o): in function `ne10_init':
    [12]NE10_init.c:(.text+0xa0): undefined reference to `__ctype_tolower_loc'
    [13]NE10_init.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__ctype_tolower_loc'
    [14]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x148): undefined reference to `stderr'
    [15]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x14c): undefined reference to `stderr'
    [16]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x174): undefined reference to `stderr'
    [17]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x178): undefined reference to `stderr'
    [18]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x1a0): undefined reference to `stderr'
    [19]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_init.c.o):NE10_init.c:(.text+0x1a4): more undefined references to `stderr' follow
    [20]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.c.o): in function `ne10_img_boxfilter_rgba8888_c':
    [21]NE10_boxfilter.c:(.text+0xa18): undefined reference to `__fprintf_chk'
    [22]NE10_boxfilter.c:(.text+0xa18): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [23]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_col_neon':
    [24]NE10_boxfilter.neon.c:(.text+0x5c4): undefined reference to `stderr'
    [25]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5c8): undefined reference to `stderr'
    [26]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5f8): undefined reference to `__fprintf_chk'
    [27]NE10_boxfilter.neon.c:(.text+0x5f8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [28]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_rgba8888_neon':
    [29]NE10_boxfilter.neon.c:(.text+0x780): undefined reference to `stderr'
    [30]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x784): undefined reference to `stderr'
    [31]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x7b8): undefined reference to `__fprintf_chk'
    [32]NE10_boxfilter.neon.c:(.text+0x7b8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [33]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
    [34]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: final link failed: file in wrong format
    [35]collect2: error: ld returned 1 exit status
    [36]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [37]makefile:152: recipe for target 'all' failed
    [38]gmake: *** [all] Error 2
    [39]**** Build Finished
    

    Best Regards,

    Ito

  • Hi Ito,

    However, the same error seems to occur.

    Now the error messages are not from the same Ne10_init.c file.

    Looks like you have not included the required file in the source of Ne10.a library.

    The symbol __ctype_tolower_loc is defined in the ctype.h file which is not included in Ne10_init.c file.

    Similarly the symbol __fprintf_chk is defined in the libc.h file which is not included NE10_boxfilter.c in file.

    Please read the error message carefully and include all necessary file in the source.

    You will then be able to build the example without errors.

    Regards,

    Tushar

  • Hi Tushar.

    I have loaded the header files, but I get the error.
    Libc.h is not standard in ubuntu, so I have to read all the header files that libc.h reads.

    What is the environment used for FFT processing with NE10 on TI?
    PC OS, CCS and other versions, CCS settings, choices made when creating the project (Select a board or device, kernel, compiler, keyword, categoly).

    If you don't mind, could you send me the project file so that I can get Ne10 working immediately?

    [0]**** Build of configuration Debug for project hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64 **** [1]/home/nireco/ti/ccs2011/ccs/utils/bin/gmake -k -j 3 all -O 
     
    [2]Building target: "hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out"
    [3]Invoking: GNU Linker
    [4]"/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc-9.2.1" -DSOC_AM64X -D_DEBUG_=1 -Og -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -Werror -mcmodel=large -mstrict-align -mfix-cortex-a53-835769 -mfix-cortex-a53-843419 -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -Wno-unused-but-set-variable -mcpu=cortex-a53+fp+simd -Wl,-Map,"hello_world.Debug.map" -static -Wl,--gc-sections -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/kernel/nortos/lib" -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/drivers/lib" -L"/home/nireco/ti/mcu_plus_sdk_am64x_10_01_00_32/source/board/lib" -L"/lib" -L"/home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc" -L"/usr/bin" -Wl,--build-id=none -o"hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out" "./syscfg/ti_dpl_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_drivers_open_close.o" "./syscfg/ti_pinmux_config.o" "./syscfg/ti_power_clock_config.o" "./syscfg/ti_board_config.o" "./syscfg/ti_board_open_close.o" "./syscfg/ti_enet_config.o" "./syscfg/ti_enet_open_close.o" "./syscfg/ti_enet_soc.o" "./syscfg/ti_enet_lwipif.o" "./hello_world.o" "./main.o" -Wl,-T"../linker.cmd"  -Wl,--start-group -lstdc++ -lgcc -lm -lrdimon -l:nortos.am64x.a53.gcc-aarch64.debug.lib -l:drivers.am64x.a53.gcc-aarch64.debug.lib -lc -l:libNE10.a -Wl,--end-group   ../Ne10_inc/libNE10.a 
    [5]makefile:156: recipe for target 'hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out' failed
    [6]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: can not size stub section: invalid operation
    [7]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_init.c.o): in function `ne10_init':
    [8]NE10_init.c:(.text+0xa0): undefined reference to `__ctype_tolower_loc'
    [9]NE10_init.c:(.text+0xa0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `__ctype_tolower_loc'
    [10]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x148): undefined reference to `stderr'
    [11]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x14c): undefined reference to `stderr'
    [12]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x174): undefined reference to `stderr'
    [13]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x178): undefined reference to `stderr'
    [14]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_init.c:(.text+0x1a0): undefined reference to `stderr'
    [15]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_init.c.o):NE10_init.c:(.text+0x1a4): more undefined references to `stderr' follow
    [16]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.c.o): in function `ne10_img_boxfilter_rgba8888_c':
    [17]NE10_boxfilter.c:(.text+0xa18): undefined reference to `__fprintf_chk'
    [18]NE10_boxfilter.c:(.text+0xa18): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [19]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_col_neon':
    [20]NE10_boxfilter.neon.c:(.text+0x5c4): undefined reference to `stderr'
    [21]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5c8): undefined reference to `stderr'
    [22]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x5f8): undefined reference to `__fprintf_chk'
    [23]NE10_boxfilter.neon.c:(.text+0x5f8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [24]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: /home/nireco/workspace_ccstheia/20250509/hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64/Ne10_inc/libNE10.a(NE10_boxfilter.neon.c.o): in function `ne10_img_boxfilter_rgba8888_neon':
    [25]NE10_boxfilter.neon.c:(.text+0x780): undefined reference to `stderr'
    [26]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x784): undefined reference to `stderr'
    [27]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: NE10_boxfilter.neon.c:(.text+0x7b8): undefined reference to `__fprintf_chk'
    [28]NE10_boxfilter.neon.c:(.text+0x7b8): relocation truncated to fit: R_AARCH64_JUMP26 against undefined symbol `__fprintf_chk'
    [29]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: linker stubs: file class ELFCLASSNONE incompatible with ELFCLASS64
    [30]/home/nireco/ti/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/../lib/gcc/aarch64-none-elf/9.2.1/../../../../aarch64-none-elf/bin/ld: final link failed: file in wrong format
    [31]collect2: error: ld returned 1 exit status
    [32]makefile:152: recipe for target 'all' failed
    [33]gmake[1]: *** [hello_world_am64x-sk_a53ss0-0_nortos_gcc-aarch64.out] Error 1
    [34]gmake: *** [all] Error 2
    [35]**** Build Finished ****
    

    Best Regads,

    Ito

  • Hi Ito,

    I don't have an project with FFT and Ne10 library.

    I can still see the error are coming because of header files not included.

    Please include ctype.h file in NE10_init.c to define __ctype_tolower_loc symbol.

    Similarly include the files according to below table.

    Header Files Source File
    ctype.h, stdio.h NE10_init.c
    libc.h NE10_boxfilter.c
    stdio.h, libc.h NE10_boxfilter.neon.c

    Regards,

    Tushar

  • Hi Tushar.

    The customer states that they have included the ctype.h file in NE10_init.c.

    I am preparing screenshots to prove that I have included it.

    Can you debug the project file I sent to private message previously?

    E2E below describes the AM64 FFT.
    What was the development environment and its version when TI checked the performance of the FFT?

    (1) AM6411: Is it possible to operate the complex FFT with 2048 or 4096 pt? - Processors forum - Processors - TI E2E support forums(1) AM6411: Is it possible to operate the complex FFT with 2048 or 4096 pt? - Processors forum - Processors - TI E2E support forums

    Best Regards,

    Ito

  • Hi Ito,

    Can you debug the project file I sent to private message previously?

    The project only has header files for the library. Can you send me the source file also because the error are coming from the source files?

    Regards,

    Tushar

  • Hi Thakur.

    Thank you for your help.

    We have sent you the latest source files, please check them.

    Best Regards,

    Ito

  • Hi Ito,

    I have received the source of it but unable to build the library. Can you please share the steps to build it?

    Regards,

    Tushar

  • Hi Tushar.

    The development environment is as follows.

    1. build NE10 using Ubuntu 24.02LTS on WSL2
      ・Install nix platform, cmake, gcc and g++.
           ・DL a clone of NE10 from Git.
      ・Execute cmake→make according to the documentation.
      ・The library libNE10.a is created.
    2. Create ‘Hello_world’ in CCS. 
    3. Paste ‘libNe10.a’ and the inc folder of NE10 into the project.
    4. Register ‘libNe10.a’ in the linker library from the project properties.
    5, Create the FFT section with reference to the NE10 sample.
    6. Compile error

    The build method uses Github.
    See the URL below.

    https://github.com/projectNe10/Ne10 

    (6) AM6411: Is it possible to operate the complex FFT with 2048 or 4096 pt? - Processors forum - Processors - TI E2E support forums

    Best Regards,

    Ito

  • Hi Tushar.

    If you are having difficulty building Ne10, can you tell us what environment you were in when you calculated the FFT data?


    We prepare the environment.
    PC OS, version of CCS etc., CCS settings, choices made when creating the project. (Select a board or device, kernel, compiler, keyword, categoly)

    Best Regards,

    Ito

  • Hi Ito,

    If you are having difficulty building Ne10, can you tell us what environment you were in when you calculated the FFT data?

    I don't have the above details. I will check this internally and let you know.

    But my guess is the issue you are facing is not because of the Environment setting.

    Regards,

    Tushar

  • Hi Tushar,

    Thank you for your reply.

    We have followed the instructions on Git hub but cannot build.
    It would be very helpful if you could check Git hub and provide us with the project files.

    Best Regards,

    Ito

  • Hi Tushar,

    Would you be able to receive information from Sitara team?

    I don't know why I get an error if I have included all the files but the file is not defined.

    Best Regards,

    Ito

  • Hi Ito,

    I am still checking the this. Have you also rebuilt the Ne10 library after including all missing files?

    Regards,

    Tushar

  • Hi Tushar.

    Customers say they have included all of them.
    At least, we have implemented the points pointed out by Tushar.
    However, neither I nor my customers are familiar with Ne10 and CCS and we are not moving ahead.

    I appreciate your help.

    Best Regards,

    Ito

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi Ito,

    Apologies for the delay here. I am busy with some other escalation. You can expect a reply by monday EOD.

    Thanks for your patience.

    Regards,

    Tushar

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi Ito,

    Thanks for your patience and apologies for the delay.

    I was able to build the library on WSL with GCC Linux compiler, but not with aarch64 cross compiler. I am still figuring this out.

    Meanwhile, I am also checking internally with the team regarding the environment setup used for benchmarking and will update you soon. 

    Regards,

    Tushar

  • Hi Tushar.

    Thank you for your help.

    If you can build it with the aarch64 cross compiler, could you please send me the file?
    Thank you very much for checking your development environment.

    Best Regards,

    Ito

  • Hi Ito,

    Thanks for your patience.

    I have checked this internally and found that the Ne10 library was built on the EVM itself running Linux on A53 core.

    For MCU+SDK, there is no documentation on how to build the Ne10 Library using cross compiler. I am still checking and will update you if I found documentation or able to build it.

    Regards,

    Tushar

  • Hi Tushar

    Thank you for your reply.

    I have checked this internally and found that the Ne10 library was built on the EVM itself running Linux on A53 core.

    Yes, that environment is our ideal.

    For MCU+SDK, there is no documentation on how to build the Ne10 Library using cross compiler. I am still checking and will update you if I found documentation or able to build it.

    Does that mean that an MCU+SDK is required to build Ne10 with an aarch64 cross compiler?

    Best Regards,

    Ito

  • Hi Ito,

    Does that mean that an MCU+SDK is required to build Ne10 with an aarch64 cross compiler?

    Yes, the Linux uses it's own native aarch64-none-linux-gnu compiler to build the Ne10 library. In MCU+SDK applications we use the cross compiler aarch64-none-elf for compilation which will not be compatible with the libraries build using native Linux compiler.

    Regards,

    Tushar

  • Hi Tushar,

    Thank you for your help.

    I am still checking and will update you if I found documentation or able to build it.

    I look forward to hearing from you.

    Best Regards,

    Ito

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi Ito,

    Apologies for the delay here. The member who did the FFT benchmarking on A53 core running Linux was on leave. 

    He will be back today, I will check with him for the steps to build it with cross compiler. I am still unable to built the Ne10 library.

    Regards,

    Tushar

  • Hi Tushar.

    How is your progress.
    I'm sorry to bother you at a busy time

    Best Regards,

    Ito

  • Hi,

    Apologies for the delay here. I have checked this internally with the person who built this lib for native Linux compiler.

    He also has not tried building the library using cross compiler. I have checked the building steps on git also. It doesn't specify much detail on how to build the lib with Cross compiler.

    The build issue you are facing might be coming because for RTOS examples we use cross compiler and the lib was built using native Linux compiler.

    Currently, I am not able to build this with cross compiler and don't know how to proceed further without building the lib again.

    Had the customer tried building the lib with cross compiler?

    Regards,

    Tushar

  • Hi Tushar,

    Customers are unable to build lib with a cross compiler.
    How did the person who ran the FFT benchmark build it using a native Linux compiler?
    Is it really not practical to build with a cross compiler?
    Is it possible to internally verify the solution?
    If not, we must report this to the customer as soon as possible.

    Best Regards,

    Ito