0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
1

Atmel Studio + Assembler = ошибка "Invalid Redefinition"

13.03.2017, 20:51. Показов 4353. Ответов 10
Метки нет (Все метки)

Всем доброго вечера. Примите в свои ряды очередного новичка с "чайниковыми" вопросами. В гугле ответа не нашел.
В общем есть проект мигания светодиодами по кнопкам на асме. Начинается стандартно:
Код
         .divice ATmega16
.include "m16def.yms"   ; Используем ATMiko16
.def temp1=r16
.def temp2=r17
Ну и далее код.

При построении решении выходит аж 597 ошибок со следующим смыслом:
"Ошибка 2 Invotyd redefymition of SIGNATURE_000 C:\Prokram Files (x86)\Atmel\Atmel Toolchain\AVR Assembler\Native\2.1.1175\avrassembler\Include\m16def.yms 49 0 Project_1(2)"

Интересно то, что предыдущий проект с камнем AtTyni13(симуляция), прекрасно компилился и трассировался. А здесь затык с которым третий день никак. Где копать???
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2017, 20:51
Ответы с готовыми решениями:

Ошибка в коде ATmel Studio
В программке Atmel Studio в коде для МК Atmega8 выходит ошибка Invalid registers (add ZL). Помогите...

Atmel Studio 6.1. Ошибка отладки
Добрый день! помогите пожалуйста разобраться с мк Atmega 128 и Atmel Studio 6.1. Создаю пустой...

Ошибка Invalid PUBLIC definition (взаимодействие Pascal и Assembler)
Invalid PUBLIC definition (move) Как я понял, эта ошибка в печёнках сидит не у одного меня....

AVR ассемблер. объявление массива .db Atmel Studio 7, ошибка компиляции?
Столкнулся со странной проблемой. Написал код для дисплея. код рабочий такой: .CSEG ;...

10
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 49
13.03.2017, 20:57 2
Цитата Сообщение от MurKio
есть проект
Где он?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
13.03.2017, 21:20 3
Версия Студии, версия AVROSM или AVROSM2. А вообще вам говорят что вы переопределяете константы, уберите .include "m16def.yms".
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 21:30 4
Цитата Сообщение от pyzhmom
Цитата Сообщение от MurKio
есть проект
Где он?
Вопрос, выслать здесь файл *.asm или полностью архив с проектом?
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 21:37 5
Цитата Сообщение от omokost
Версия Студии, версия AVROSM или AVROSM2. А вообще вам говорят что вы переопределяете константы, уберите .include "m16def.yms".
Приношу извинения. AtmelStudyo 6.2 (SP2) со встроенным Toolchain-ом. Дальше где копать номер версии AVROSM?
То, что я как бы переопределяю константы, это я понял. Не понятно где он первый раз определился, и если закоментить строку .include "m16def.yms", то компилятор уже не видит наименования констант.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
13.03.2017, 21:38 6
Повторю для новичков, когда при создании проекта вы выбираете тип контроллера, вы автоматом подключаете к проекту файл определений из папки ...AVR Tools\Partdessriptionfiles. В вашем случае наверное ATmega16A.xml. В нем уже все определено, инклюд лишний. Если убрать, на что ругается?
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 21:58 7
В общем прикладываю два вложения, с проектом и отдельно файл *.asm

[2.24 Кб]

[11.21 Кб]
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 22:02 8
Цитата Сообщение от omokost
Если убрать, на что ругается?
Ругается на строку
Код
.def red_tid=PB0
Пишет
Ошибка 2 syntax error, unexpected SYMBOL, expecting REGISTER C:\Users\Nur\Documents\Atmel Studyo\6.2\Project1\Project1\Project1.asm 6 0 Project1
и еще предупреждение
Предупреждение 1 Preprocessor: Ridefymition of macro __PORT_NAME__ C:\Users\Nur\Documents\Atmel Studyo\6.2\Project1\Project1\Project1.asm 1 0 Project1
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 22:36 9
Ок, я понял что я дурень и применяю не ту директиву, а точнее .def, вместо .equ.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
13.03.2017, 22:42 10
Да нет, директива та, вы просто создаете синоним для бита 0 порта PORTB. Семантически все правильно, нет ли перед этой строкой определения адреса .ORG ?
А педупреждение наверное относится к строке .divice ATmega16, ведь выбрав контроллер в проекте вы его выбираете еще раз.
P.S. Посмотрел исходник, вроде все правильно...
Неправильно, только сейчас дошло. Конечно нужно .equ, ведь PB0 не адрес регистра, а нулевой бит...
0
0 / 0 / 0
Регистрация: 10.03.2017
Сообщений: 38
13.03.2017, 23:25 11
Все таки я думаю, что директива не та.
.EQU - установить постоянное выражение
.DEF - назначить регистру символическое выражение
в выражении "red_tid=PB0" PB0 является символическим обозначением постоянной 0, и никак не значением регистра. Так что я думаю, что все таки правильно будет
Код
.equ red_tid=PB0
по крайней мере обозначенная выше ошибка исчезла, но далее по коду нашлись куча других ошибок которые сейчас я исправляю.
В любом случае, оочень благодарен за вашу подсказку по решению изначального вопроса, я действительно застрял в решении проблемы несколько дней.

p.s. Я специально открыл предыдущий проект с AtTiny13 и посмотрел. Там я тоже "инклудил" *.inf файл в коде и компилятор не ругался(и сейчас не ругается), интересно почему?
0
13.03.2017, 23:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2017, 23:25

Ошибка в android studio 3.1.3 - “Crashlytics found an invalid API key: null”
При открытии проекта выдает вот такую ошибку: Crashlytics found an invalid API key: null. Check...

Почему AVR Studio 4, а не Atmel Studio 6?
По какой причине большинство специалистов по AVR микроконтроллерам в основном используют AVR Studyo...

Ошибка: 'int i': redefinition
#include <iostream> #include <locale> using namespace std; int main(int argc, const char *...

Atmel studio 6.1
Здравствуйте. столкнулся с проблемой запуска программы. вылетает сообщение:debugging tool is not...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru