Ошибка: целевой ЦП не поддерживает режим ARM - PullRequest
4 голосов
/ 06 марта 2012

Я пытаюсь сделать кросс-компиляцию простой программы со встроенной сборкой для различных процессоров ARM.Он содержит инструкцию по сборке QSUB, которая согласно этому документу является действительной инструкцией ARM и Thumb-2.

Это прекрасно скомпилируется для меня при сборке cortex-a8.

Я получаю ошибку компиляции в заголовке, когда пытаюсь собрать cortex-m3 и не могу понять, почему.Я попытался включить режим большого пальца с помощью переключателя компилятора -mthumb, а затем ошибка изменится на «выбранный процессор не поддерживает режим большого пальца».Я немного запутался, потому что cortex-m3 на самом деле поддерживает режим большого пальца.

Вот параметры компиляции, которые я использую с gcc codeourcery:

arm-none-linux-gnueabi-gcc helloworld.c -o a.out -lm -mthumb -mcpu=cortex-m3

Ответы [ 2 ]

4 голосов
/ 06 марта 2012

QSUB не упоминается в «Универсальном руководстве пользователя устройств Cortex-M3» (документ DUI0552A) .

Кроме того, в инструкции Cortex-M3 / M4F TI .Установите, ТЕХНИЧЕСКОЕ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ " указывает, что QSUB не поддерживается на Cortex-M3.

Я думаю, вам просто нужно будет поверить в то, что GCC говорит вам ...

3 голосов
/ 30 августа 2012

В соответствии с TI лучшими gcc флагами для cortex-a8 являются

-march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -ffast-math -mfloat-abi=softfp

http://processors.wiki.ti.com/index.php/Cortex-A8

...