Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Ваш пример рабочий? Как компилятор узнает зону ответственности метки?

Для Вашего примера любой доктор пропишет макрос.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Andrew Martin писал(а):Польза от локальных меток неоспорима, поскольку в пределах проекта может существовать сколько угодно локальных меток с одинаковыми именами. Это позволяет не нагромождать длинные имена меток.
То же самое достижимо, если не пытаться впихнуть весь проект в один файл исходного кода. Если у Вас каждый файл исходного кода содержит только один функциональный блок кода, длиной не более, чем в сотню строк, то и проблем с метками у Вас не будет. Дайте возможность компоновщику потрудиться )
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Так компоновщика нет.
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Ну так используйте для AVR GNU Toolchain. Там компоновщик точно есть.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Сколько пробовал, ничего не получается.
Нет сенсея, чтобы на пальцах показал, как им пользоваться.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Ну не знаю. Под Eclipse для включения в проект ассемблера в *.S файлах, вообще никаких дополнителых телодвижений не требуется, кроме изначальной настройки CDT и AVR Eclipse Plugin.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Реклама
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Я же просил на пальцах.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18788
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

trofim2 писал(а):Я же просил на пальцах.
http://nongnu.org/avr-libc/user-manual/ ... mdemo.html
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

У нас, в этой теме, речь идёт про ассемблер.
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

И по ссылке тоже про ассемблер
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Так там малюпасенький кусочек на асм, а всё на С, а мне надо всё на АСМ.
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Если выкинуть все про C, а оставить только про ассемблер, то это и будет то, что Вы хотели.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Но как это запустить на трансляцию?
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Сказано же. Если GCC на вход дать файл с расширением *.s, то он сам натравит на него GNU макроассемблер.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Как ему это дать?
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Любым IDE поддерживающим AVR GNU toolchain. Или руками из командной строки. Или GNU make.
Если Вы хотите подключить к конкретному IDE, то смотрите, как к нему подключить GNU toolchain.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

В простейшем случае беру любой файл с расширением .asm, переименовываю на .s и запускаю командную строку. Должен получить файлы .hex (2 штуки) и .lst.
Какая будет командная строка lля запуска трансляции?
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

Нет, GCC на выходе даст или объектный файл или, по-умолчанию, elf. Из elf hex еще надо будет делать, при помощи avr-objcopy. Если Вы не готовы изучать GNU toolchain, воспользуйтесь готовым IDE, которое все сделает за Вас, даже вызов avrdude для заливки прошивки.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт сен 10, 2015 06:59:03
Откуда: Гродно, BY

Сообщение trofim2 »

Да я не готов изучать GNU toolchain и не знаю, что такое IDE.
Подскажите:
1. Какая командная строка для получения .elf?
2. Какая для преобразования elf в .hex (2 штуки) и .lst?
Вымогатель припоя
Аватара пользователя
Сообщения: 606
Зарегистрирован: Чт окт 06, 2016 21:12:07
Откуда: Южное Бутово

Сообщение ptr128 »

1. avr-gcc xxxx.s
2. avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex xxxx.elf "xxxx.hex"
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Ответить

Вернуться в «AVR»