This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Porting linux compiled code into IDE

Hello

I just installed IDE and trying to port existing code compiled at Linux ARMCC into IDE environment.  I followed the guideline in the armds_user_guide 2.4 Create a new Makefile project with existing code, and the below is error I have seen now..

/*

12:39:09 **** Build of configuration Default for project Sort_App ****
make all
del *.o *.txt *.log *.img *.dis
Could Not Find C:\ARM\DSWorkSpace\sort_app\sort_v8_mpcore.1uart\*.o
del *.axf *.bin
Could Not Find C:\ARM\DSWorkSpace\sort_app\sort_v8_mpcore.1uart\*.axf
armclang -c -g -O0 sorts.c -o sorts.o -target aarch64-arm-none-eabi -DSTANDALONE --tool_variant=ult -std=c90
process_begin: CreateProcess(NULL, armclang -c -g -O0 sorts.c -o sorts.o -target aarch64-arm-none-eabi -DSTANDALONE --tool_variant=ult -std=c90, ...) failed.
make (e=2): The system cannot find the file specified.

make: *** [Makefile:80: sorts.o] Error 2
"make all" terminated with exit code 2. Build might be incomplete.

12:39:09 Build Failed. 1 errors, 0 warnings. (took 180ms)

*/

The Makefile script looks as below. It was compiled well in Linux environment, and sample code provided by ARM:

/*

#############################################################################
CC=armclang
AS=armasm
LD=armlink
#AS=/engr/dev/tools/arm/DS-5/sw/ARMCompiler6.01u1/bin/armasm
#LD=/engr/dev/tools/arm/DS-5/sw/ARMCompiler6.01u1/bin/armlink
AR=armar
FE=fromelf

ifeq ($(OSTYPE),linux)
DEL = rm -rf
else
DEL = del
endif

#############################################################################
##
## Targets
##

all: cleanall sorts_v8.axf sorts_v8.dis trim

#############################################################################
# Auxillary Maintainence Targets.

clean:
$(DEL) *.o *.txt *.log *.img *.dis

cleanall: clean
$(DEL) *.axf *.bin

trim:
$(DEL) *.o

#############################################################################
# Object files from C and ASM code

uart.o: uart.c
# Compile for best debug view (lowest optimization)
$(CC) $(CFLAGS) -c -g -O0 -Os $^ -o $@ -target aarch64-arm-none-eabi --tool_variant=ult

retarget.o: retarget.c
# Compile for best debug view (lowest optimization)
$(CC) $(CFLAGS) -c -g -O0 -Os $^ -o $@ -target aarch64-arm-none-eabi -DSTANDALONE --tool_variant=ult

serial.o: serial.c
# Compile for best debug view (lowest optimization)
$(CC) $(CFLAGS) -c -g -O0 -Os $^ -o $@ -target aarch64-arm-none-eabi --tool_variant=ult

sorts.o: sorts.c
# Compile for best debug view (lowest optimization)
$(CC) $(CFLAGS) -c -g -O0 $^ -o $@ -target aarch64-arm-none-eabi -DSTANDALONE --tool_variant=ult -std=c90

*/

Would you like to help me where can I get the guidance about this...?

Thank you so much!!

Parents
  • Hi mongolee,

    It looks like you are using a very old version of the “sorts” example (based on Arm Compiler 6.01!).  The latest is Arm Compiler 6.14.

    Arm Development Studio includes many examples for the latest Arm Compiler 6, including more recent versions of the “sorts” example, for a wide range of Arm processors.

    Many of the examples include scatter files, and there are also some GCC equivalent versions of AC6 projects, that show the use of linker scripts.

    If you don’t already have the latest version 2020.0 of Arm Development Studio, then please feel free to download a free Evaluation version from developer.arm.com/.../evaluate

    To access these and import them into your workspace, select File > Import > Arm Development Studio > Examples and Programming Libraries, then enter “startup” in the search filter.

    As a starting point, import the two ready-made, fully-working examples for Armv8-A: “startup_Armv8-A_AArch64_AC6” and its GCC version called “startup_Armv8-A_AArch64_AC6".

    You can then compare and contrast the these two examples.  These are both “makefile”-based examples, that run of Fixed Virtual Platform (FVP) models included in Arm DS.

    Hope this helps

    Stephen

Reply
  • Hi mongolee,

    It looks like you are using a very old version of the “sorts” example (based on Arm Compiler 6.01!).  The latest is Arm Compiler 6.14.

    Arm Development Studio includes many examples for the latest Arm Compiler 6, including more recent versions of the “sorts” example, for a wide range of Arm processors.

    Many of the examples include scatter files, and there are also some GCC equivalent versions of AC6 projects, that show the use of linker scripts.

    If you don’t already have the latest version 2020.0 of Arm Development Studio, then please feel free to download a free Evaluation version from developer.arm.com/.../evaluate

    To access these and import them into your workspace, select File > Import > Arm Development Studio > Examples and Programming Libraries, then enter “startup” in the search filter.

    As a starting point, import the two ready-made, fully-working examples for Armv8-A: “startup_Armv8-A_AArch64_AC6” and its GCC version called “startup_Armv8-A_AArch64_AC6".

    You can then compare and contrast the these two examples.  These are both “makefile”-based examples, that run of Fixed Virtual Platform (FVP) models included in Arm DS.

    Hope this helps

    Stephen

Children