Могу ли я перенести библиотеку, скомпилированную для Cortex M3, на Cortex M4?

Я получил библиотеку, которая предварительно скомпилирована для Cortex M3. Могу ли я скомпилировать его для Cortex M4 и перенести без доступа к исходному коду?


person VRTester    schedule 05.01.2017    source источник


Ответы (2)


Если эта библиотека имеет форму файла «.a», то ее невозможно «перекомпилировать», поскольку у вас нет доступа к исходному коду.

Но если этот код НЕ обращается к каким-либо периферийным устройствам, которые отличаются на двух микросхемах, которые вы хотите использовать, то нет необходимости что-либо перекомпилировать. ARM Cortex-M4 почти идентичен ARM Cortex-M3 - первый может иметь FPU и несколько инструкций DSP, но в то же время поддерживает все инструкции Thumb-2 от ARM Cortex-M3. .

Так что все зависит от того, что на самом деле делает эта библиотека ...

person Freddie Chopin    schedule 05.01.2017

ARM cortex M4 и Cortex M3 используют одну и ту же архитектуру ARMV7M, поэтому набор инструкций почти такой же, как работа в cortex M3, должна работать в cortex M4, однако вы должны позаботиться об адресе периферийных устройств между двумя встроенными устройствами, если есть измените, поэтому доступ к некоторому измененному базовому адресу периферийного устройства вызовет проблемы.

Но примите это как фундаментальное уравнение относительно процессора ARM: Cortex M4 = CortexM3 + DSP

person dhokar.w    schedule 06.01.2017