У меня есть продукт, в котором загрузчик и приложение скомпилированы с помощью компилятора (gnuarm GCC 4.1.1 ), который генерирует "arm -elf".
В сценарии компоновщика загрузчик и приложение находятся в разных областях флэш-памяти.
Приложение имеет функцию, позволяющую вызывать загрузчик (как простую функцию c -с двумя параметрами ).
Мне нужно иметь возможность обновлять существующие продукты по всему миру, и я могу безопасно делать это, используя всегда один и тот же компилятор.
Теперь я хотел бы иметь возможность скомпилировать это приложение продукта, используя новую версию GCC, которая выводит arm -eabi.
Все будет хорошо для новых продуктов, где и приложение, и загрузчик компилируются с использованием одной и той же цепочки инструментов, но что происходит с существующими продуктами? Если я прошиваю новое приложение, скомпилированное с помощью GCC 4.6.x и ARM -none -eabi, сможет ли мое приложение по-прежнему вызывать функцию загрузчика из старого загрузчика Arm -elf?
Кроме того, не связанный напрямую с вышеуказанным вопросом,Могу ли я смешать объектные файлы, скомпилированные с помощью arm -elf, в двоичный файл, скомпилированный с помощью arm -eabi?
РЕДАКТИРОВАТЬ:
Я думаю, стоит пояснить, что я строю для голого железа ARM7, если это имеет значение...