Ho un prodotto che bootloader e applicazione sono compilati usando un compilatore (gnuarm GCC 4.1.1) che genera "arm-elf".Posso mescolare arm-eabi con arm-elf?
Il bootloader e l'applicazione sono separati in aree di memoria FLASH diverse nello script del linker.
L'applicazione dispone di una funzione che consente di chiamare il bootloader (come una semplice funzione c con 2 parametri).
Devo essere in grado di aggiornare i prodotti esistenti in tutto il mondo, e posso farlo tranquillamente usando sempre lo stesso compilatore.
Ora mi piacerebbe essere in grado di compilare questa applicazione del prodotto utilizzando una nuova versione GCC che emette arm-eabi.
Tutto andrà bene per i nuovi prodotti, in cui sia l'applicazione sia il bootloader vengono compilati utilizzando la stessa toolchain, ma cosa succede con i prodotti esistenti? Se flasho una nuova applicazione, compilata con GCC 4.6.x e arm-none-eabi, la mia applicazione sarà ancora in grado di chiamare la funzione bootloader dal vecchio bootloader arm-elf?
Inoltre, non direttamente legati alla domanda di cui sopra, posso mixare i file oggetto compilati con il braccio-elf in un binario compilato con il braccio-EABI?
EDIT:
credo sia bene chiarire sto costruendo per un ARM7 metallo nudo, se si fa alcuna differenza ...
Non sono limitato a Windows, e un motivo in più per lasciarlo è che posso facilmente ottenere una nuova toolchain pronta per l'uso per Linux, in cui lo sviluppo è chiaramente più semplice. Ad ogni modo, proverò a chiamare la funzione e tornerò con le notizie il più presto possibile. Grazie. – j4x
Ho notato che mentre ho indicato che potrebbe funzionare, non consiglio assolutamente di fare affidamento su questo comportamento in un sistema reale. – djs
Ehi @fljx - Funzionava? Hai avuto 4 anni per provarlo ora :) – blueshift