#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.