Tengo un producto cuyo gestor de arranque y la aplicación se compilan utilizando un compilador (gnuarm GCC 4.1.1) que genera "arm-elf".¿Puedo mezclar el brazo eabi con el elfo brazo?
El gestor de arranque y la aplicación están segregados en diferentes áreas de memoria FLASH en el script del enlazador.
La aplicación tiene una función que le permite llamar al gestor de arranque (como una simple función c con 2 parámetros).
Necesito poder actualizar los productos existentes en todo el mundo, y puedo hacerlo de forma segura utilizando siempre el mismo compilador.
Ahora me gustaría poder compilar esta aplicación de producto usando una nueva versión de GCC que emita arm-eabi.
Todo estará bien para los productos nuevos, donde la aplicación y el gestor de arranque se compilan utilizando la misma cadena de herramientas, pero ¿qué ocurre con los productos existentes? Si flasheo una nueva aplicación, compilada con GCC 4.6.x y arm-none-eabi, ¿mi aplicación podrá llamar a la función del gestor de arranque desde el gestor de arranque del brazo-elfo antiguo?
Por otra parte, no está relacionado directamente a la pregunta anterior, ¿puedo mezclar archivos objeto compilados con el brazo-Elf en un binario compilado con el brazo-EABI?
EDIT:
creo que es bueno para dejar claro que estoy construyendo para un ARM7 metal desnudo, si hace alguna diferencia ...
No estoy restringido a Windows, y una gran razón para dejarlo es que puedo obtener fácilmente una nueva y lista cadena de herramientas para Linux, donde el desarrollo es claramente más fácil. De todos modos, intentaré llamar a la función y volveré con las noticias tan pronto como pueda. Gracias. – j4x
Debo señalar que aunque indiqué que podría funcionar, definitivamente no recomiendo confiar en este comportamiento en un sistema real. – djs
Hola @fljx - ¿Funcionó? Has tenido 4 años para probar esto ahora :) – blueshift