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.

AM3359: The problem of running the test program on AM3359 ICE V2

Part Number: AM3359

Hello all,

I have a AM3359 ICE v2 and I am using it to set up a working baseline for development.

I have gotten so far:

1) I have set up the host Linux development platform based on Ubuntu 18.0.4.

2) I have downloaded and installed the SDK for AM3359 on the host and run the setup.sh script.

3) I have deleted the SPI flash on ICE v2 and prepared a SD card.

4) I put a test program under the usr directory of the development board.

5) I can boot ICEv2 using the SD card, I can log in as root. 

The test program is an empty main function as follows.

int main(void)
{
return 0;
}

This is its compilation information:

**** Build of configuration Release for project Test ****

/home/huxiao/ti/ccs1040/ccs/utils/bin/gmake -k -j 1 all -O

Building file: "../main.c"
Invoking: GNU Compiler
"/home/huxiao/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1" -c -mcpu=cortex-a8 -march=armv7-a -mtune=cortex-a8 -marm -Dam3359 -I"/home/huxiao/workspace_v10/Test" -I"/home/huxiao/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include" -Os -Wall -specs="nosys.specs" -MMD -MP -MF"main.d_raw" -MT"main.o" -o"main.o" "../main.c"
Finished building: "../main.c"

Building file: "../startup_ARMCA8.S"
Invoking: GNU Compiler
"/home/huxiao/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1" -c -mcpu=cortex-a8 -march=armv7-a -mtune=cortex-a8 -marm -Dam3359 -I"/home/huxiao/workspace_v10/Test" -I"/home/huxiao/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include" -Os -Wall -specs="nosys.specs" -o"startup_ARMCA8.o" "../startup_ARMCA8.S"
Finished building: "../startup_ARMCA8.S"

Building target: "Test.out"
Invoking: GNU Linker
"/home/huxiao/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc-7.2.1" -mtune=cortex-a8 -marm -Dam3359 -Os -Wall -specs="nosys.specs" -mcpu=cortex-a8 -Wl,-Map,"Test.map" -Wl,--defsym,STACKSIZE=0x1C000 -Wl,--defsym,HEAPSIZE=0x400 -o"Test.out" "./main.o" "./startup_ARMCA8.o" -Wl,-T"../AM335x.lds" -Wl,--start-group -lc -Wl,--end-group
Finished building target: "Test.out"

**** Build Finished ****

6) When I run it, it will report an illegal instruction error.

root@am335x-evm:/usr# ./Test.out
Illegal instruction (core dumped)

Ask me, why is this error reported? thank you very much.

regards,

Xiao Hu

  • Hi Xiao,

    When compiling Linux program (either for PC Linux or embedded Linux), a Linux compiler should be used, not the CCS compiler.

    The Processor SDK for Linux package provides the ARM Linux compiler for you to compile the program for AM335x.