2014-10-31 2 views
0

Я не знаю много о сборке, но когда я пытаюсь построить проект, использующий Sciopta RTOS и Cortex процессором, он произвел следующую ошибку:Sciopta RTOS ошибка сборки

Error[401]: Operand syntax error 
    mrc  p15, #0, r0, c9, c14, #2 
-----------------^ 

В файле cortex_a.s

У кого-нибудь есть идея об этой проблеме?

ответ

1

Из кода ошибки и текста похоже, что вы используете ассемблер IAR, но расширение .s является соглашением ассемблера GNU, поэтому, возможно, код написан для ассемблера GNU, а они IAR, и они отличаются в этом уважение.

Мое предположение заключалось бы в том, чтобы удалить #, поскольку нет другого параметра, кроме непосредственного операнда, поэтому он неявный. Это подтверждается выпуском отмечает here, которые имеют следующее примечание:

In EWARM 6.50.2:

The instructions MCR and MRC now allow # before operation code operands also in Thumb mode.

[EW23559]

Предположительно ваша версия EWARM старее?

+0

Да, вы правы в этом, я попробовал более новую версию IAR-ассемблера, и это сработало. –