неизвестный код операции ‘.pword’

#c #gcc #arm #pic #opcode

#c #gcc #arm #рис #код операции

Вопрос:

Когда я компилирую свой код, я получаю ошибку неизвестного кода операции ‘.pword’. Единственная строка кода в моем проекте, которая имеет .pword,:

 do {
    __asm__ volatile (" .pword 0xDA4000");
    Nop();
} while(0)
  

Комментирование вывода строки ничего не дает.

Я искал .pword 0xDA4000 и знаю, что он поддерживается IDE MPLab для PICs.

В моем случае IDE, которую я использую, — это crosstudio для чипа STMf32f2xx.

У меня есть обновленный crosstudio, который поставляется с binutils 2.21 и gcc 4.6.0

Изначально у меня была проблема с компиляцией неназванных структур и объединений, но добавление -fms-extensions дополнительных опций компилятора C исправило ее.

Я не знаю, нужно ли мне сделать что-то подобное, чтобы исправить ошибку кода операции ‘.pword’.

может ли это быть просто так.pword — это только код операции PIC?

Комментарии:

1. По мере того, как вы сталкиваетесь с дальнейшими проблемами, связанными с электроникой. Stackexchange.com у него довольно много вопросов и довольно много экспертов. Просто в сторону, если мы можем быть полезны.

Ответ №1:

В ассемблере MPLAB .pword ASM30 объявляется 24-битная константа в памяти кода. Это может быть также любая инструкция MPLAB ASM30.

Проверка: ассемблер MPLAB ASM30

Комментарии:

1. Хорошо, так это звучит. pword — это уникальный код операции, специфичный для ассемблера MPLAB.

2. @microb: Нет, .pword` не является кодом операции. Значение .pword (это постоянный тип) — это объявление 24-битной константы в памяти кода, и эта константа может быть кодом операции.

3. о, как слово с плавающей запятой и т. Д

4. @microb: или даже вызов функции. 🙂

5. все еще не уверен, почему у меня возникают проблемы с компилятором. Я не могу найти ничего, кроме приведенного выше кода, в котором есть pword.