Can I mix an ebi hand with an elf?

I have a product whose loader and application are compiled using a compiler (gnuarm GCC 4.1.1) that generates an "arm-elf".

The bootloader and the application are separated in different areas of FLASH memory in the script builder.

The application has a function that allows it to call the bootloader (as a simple c-function with two parameters).

I need to be able to update existing products around the world, and I can safely do this, always using the same compiler.

Now I would like to compile this product application using the new version of GCC, which displays arm-eabi.

Everything will be fine for new products, where both applications and the bootloader are compiled using the same toolchain, but what happens with existing products? If I run a new application compiled with GCC 4.6.x and arm-none-eabi, will my application still be able to call the bootloader function from the old arm-elf bootloader?


Also, not directly related to the question above, can I combine object files compiled with elves into a binary compiled with arm-eabi?


EDIT:

I think it's good to clarify what I'm building for ARM7 bare metal if it has any meaning ...

+5
source share
3 answers

. ABI - , . , /. , ABI , , , C, .

EABI ABI, , EABI. Debian , syscall , .

, , , arm- arm-eabi.

, . , ( ), , . . , ** ** .

, , EABI. toolchain arm- gcc 4.6 , . , . crosstool-ng, Linux, cygwin .

+4

, , :).

, , , :

  • , , , EABI, .
  • . , , , , ..
+3

, . - , , , , .

This is the best information I can find about the differences , it suggests that if you have no problems aligning the structure, you may be OK.

+2
source

All Articles