i.MX287 along with DS5 workbench

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX287 along with DS5 workbench

645 Views
mussierludovic
Contributor I

Hi,

We've got a a legacy i.MX287 platform and we use gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi to compile our applications. The idea now is to upgrade our gcc to the latest available. After installing DS5 we try to compile and deploy the hello_linux example, but the binary fails to launch (no error message available).

The question is, does arm-linux-gnueabihf-gcc is the same that arm-fsl-linux-gnueabi we formally use, I guess it's not.
I don't now for what fsl trigram stand for, but after dumper the elf header it appears legacy application  does not state ti use hardware float. The cpu arch and name are different too.

The legacy file attribute

File Attributes

  Tag_CPU_name: "ARM9TDMI"

  Tag_CPU_arch: v4T

  Tag_ARM_ISA_use: Yes

  Tag_THUMB_ISA_use: Thumb-1

  Tag_ABI_PCS_wchar_t: 4

  Tag_ABI_FP_denormal: Needed

  Tag_ABI_FP_exceptions: Needed

  Tag_ABI_FP_number_model: IEEE 754

  Tag_ABI_align_needed: 8-byte

  Tag_ABI_align_preserved: 8-byte, except leaf SP

  Tag_ABI_enum_size: int

The file attribute of the DS5 hello world

File Attributes

  Tag_CPU_name: "7-A"

  Tag_CPU_arch: v7

  Tag_CPU_arch_profile: Application

  Tag_ARM_ISA_use: Yes

  Tag_THUMB_ISA_use: Thumb-2

  Tag_FP_arch: VFPv3-D16

  Tag_ABI_PCS_wchar_t: 4

  Tag_ABI_FP_rounding: Needed

  Tag_ABI_FP_denormal: Needed

  Tag_ABI_FP_exceptions: Needed

  Tag_ABI_FP_number_model: IEEE 754

  Tag_ABI_align_needed: 8-byte

  Tag_ABI_align_preserved: 8-byte, except leaf SP

  Tag_ABI_enum_size: int

  Tag_ABI_HardFP_use: SP and DP

  Tag_ABI_VFP_args: VFP registers

  Tag_CPU_unaligned_access: v6

Could you tell me how can I use DS5, or at least a newer gcc, to compile for my i.MX287 ?

0 Kudos
3 Replies

453 Views
Yuri
NXP Employee
NXP Employee

Hello,

  The following provides ARM recommendations regarding creating a simple Hello World Linux application. 

Linux Application Debugging Using DS-5 – DS-5 Development Studio – ARM Developer

Summary Page :

Get Started – DS-5 Development Studio – ARM Developer

Note, for i.MX28, GCC compiler options should be as following :

-march=armv5te -mtune=arm926ej-s -mfloat-abi=soft

ARM Options - Using the GNU Compiler Collection (GCC)

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

453 Views
mussierludovic
Contributor I

Ok, I've added the options you provided i get a linker issue with that.

lmussier@W7FRN00804L-VM:~/DS-5_v5.24.0/examples/DS-5Examples/hello_linux$ make

/home/lmussier/DS-5_v5.24.0/sw/gcc/bin/arm-linux-gnueabihf-gcc -c -march=armv5te -mtune=arm926ej-s -mfloat-abi=soft -O1 -g -fno-omit-frame-pointer  hello.c -o hello.o

/home/lmussier/DS-5_v5.24.0/sw/gcc/bin/arm-linux-gnueabihf-gcc hello.o  -o hello

/home/lmussier/DS-5_v5.24.0/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: error: hello uses VFP register arguments, hello.o does not

/home/lmussier/DS-5_v5.24.0/sw/gcc/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file hello.o

collect2: error: ld returned 1 exit status

Makefile:92: recipe for target 'hello' failed

make: *** [hello] Error 1

My understanding is, the gcc provided with DS5 is a gnuabihf and then can't be used to compile with -mfloat-abi=soft I am right ?

If so, is there an official gnuabi (not hh version) provided by NXP or I've simply have to get, let's says, a linaro gcc and it will do the trick ?

0 Kudos

453 Views
Yuri
NXP Employee
NXP Employee

Hello,

I think it makes sense to apply to ARM regarding DS-5 compiler options.

Also, You may try using any GCC version supporting ARM-926.

Regards,

Yuri.

0 Kudos