Я получил библиотеку, которая предварительно скомпилирована для коры M3. Могу ли я перекрестно скомпилировать его для коры M4 и передать его без доступа к исходному исходному коду?Могу ли я перенести библиотеку, исправленную для Cortex M3, на кору M4?
ответ
Если эта библиотека находится в виде файла ".a", тогда нет возможности перекомпилировать ее, так как у вас нет доступа к исходному коду.
Но если этот код NOT, доступ к любым периферийным устройствам, которые отличаются от двух микросхем, которые вы хотите использовать, тогда нет необходимости перекомпилировать что-либо. ARM Cortex-M4 почти идентичен ARM Cortex-M3 - бывший может иметь FPU и имеет некоторые инструкции DSP, но в то же время поддерживает все команды Thumb-2 от ARM Cortex-M3.
Так что это все зависит от того, что эта библиотека на самом деле делает ...
ARM Cortex M4 и Cortex M3 имеет ту же архитектуру ARMV7M поэтому набор команд почти то же самое, что работа в коре M3 должны работать в коре головного мозга M4, однако вам необходимо позаботиться о адресе периферийных устройств между двумя встроенными аппаратными средствами, если есть изменение, поэтому доступ к некоторому измененному базовому адресу периферии вызовет проблемы.
Но возьмите это как фундаментальное уравнение относительно процессора ARM: Cortex M4 = CortexM3 + DSP