http://nongnu.org/avr-libc/user-manual/ ... mdemo.htmltrofim2 писал(а):Я же просил на пальцах.
Ассемблер (ASM) для AVR в вопросах и ответах
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
У нас, в этой теме, речь идёт про ассемблер.
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
И по ссылке тоже про ассемблер
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Так там малюпасенький кусочек на асм, а всё на С, а мне надо всё на АСМ.
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Если выкинуть все про C, а оставить только про ассемблер, то это и будет то, что Вы хотели.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Но как это запустить на трансляцию?
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Сказано же. Если GCC на вход дать файл с расширением *.s, то он сам натравит на него GNU макроассемблер.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Как ему это дать?
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Любым IDE поддерживающим AVR GNU toolchain. Или руками из командной строки. Или GNU make.
Если Вы хотите подключить к конкретному IDE, то смотрите, как к нему подключить GNU toolchain.
Если Вы хотите подключить к конкретному IDE, то смотрите, как к нему подключить GNU toolchain.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
В простейшем случае беру любой файл с расширением .asm, переименовываю на .s и запускаю командную строку. Должен получить файлы .hex (2 штуки) и .lst.
Какая будет командная строка lля запуска трансляции?
Какая будет командная строка lля запуска трансляции?
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Нет, GCC на выходе даст или объектный файл или, по-умолчанию, elf. Из elf hex еще надо будет делать, при помощи avr-objcopy. Если Вы не готовы изучать GNU toolchain, воспользуйтесь готовым IDE, которое все сделает за Вас, даже вызов avrdude для заливки прошивки.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Да я не готов изучать GNU toolchain и не знаю, что такое IDE.
Подскажите:
1. Какая командная строка для получения .elf?
2. Какая для преобразования elf в .hex (2 штуки) и .lst?
Подскажите:
1. Какая командная строка для получения .elf?
2. Какая для преобразования elf в .hex (2 штуки) и .lst?
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
1. avr-gcc xxxx.s
2. avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex xxxx.elf "xxxx.hex"
2. avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex xxxx.elf "xxxx.hex"
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Выдает кучу ошибок, начиная с м128def.inc.
Надо что-то другое?
Надо что-то другое?
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ассемблерный исходник должен иметь расширение "s"
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Это я понял.
в файле строка
.include "m128def.inc"
и в нем выдает ошибки
почему-то строка "avr-gcc Test.S > Err.txt" не скидывает ошибки в файл.
в файле строка
.include "m128def.inc"
и в нем выдает ошибки
почему-то строка "avr-gcc Test.S > Err.txt" не скидывает ошибки в файл.
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Во-первых, я без понятия, что за ошибки он выдает. Может m128def.inc не находит.
Во-вторых, Вы перенаправляете в файл stdout, ошибки выводятся в stderr, который вы не перенаправляете в файл
Во-вторых, Вы перенаправляете в файл stdout, ошибки выводятся в stderr, который вы не перенаправляете в файл
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Похоже у него несколько другой синтаксис.
m128def.inc находит, в нем выдает ошибки.
Не признает "cseg".
m128def.inc находит, в нем выдает ошибки.
Не признает "cseg".
- ptr128
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Чт окт 06, 2016 21:12:07
- Откуда: Южное Бутово
Re: Ассемблер (ASM) для AVR в вопросах и ответах
http://tigcc.ticalc.org/doc/gnuasm.html
Добавлено after 15 minutes 59 seconds:
Пример использования http://www.nongnu.org/avr-libc/user-man ... mbler.html
Добавлено after 15 minutes 59 seconds:
Пример использования http://www.nongnu.org/avr-libc/user-man ... mbler.html
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
- Andrew Martin
- Вымогатель припоя
- Сообщения: 606
- Зарегистрирован: Вт июн 25, 2013 18:45:07
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Это просто показательный пример, чтобы была ясна идеология локальных меток.Z_h_e писал(а):Ваш пример рабочий? Как компилятор узнает зону ответственности метки?
На avrasm-е никогда не пользовался локальными метками, за то в fasm-е и fasmarm постоянно. Там вот такие конструкции с локальными метками:
Код: Выделить всё
procname1:
cmp r0,0
bge .label1
blt .label2
.label1:
.label2:
procname2:
cmp r0,0
bge .label1
blt .label2
.label1:
.label2:
Код: Выделить всё
cmp r0,0
bge procname1.label1
blt procname1.label2
cmp r0,0
bge procname2.label1
blt procname2.label2
P.S.: Сейчас очень активно развивается проект fasmg, там на мощнейший препроцессорный скелет можно навесить надстройки практически для любых МК. Для AVR уже есть
Добавлено after 20 minutes 7 seconds:
Никогда не нравилась возня с объектниками и компоновкой. Делаю так только на x86 и то на относительно больших проектах. Не каждый ассемблер умеет генерить отладочную информацию в формате, поддерживаемом линкером, а отладка на уровне исходного кода очень удобна. Например, идеология fasm не предусматривает компоновку, поэтому он умеет генерить сразу исполняемые файлы многих форматов, хоть и объектники тоже поддерживает.ptr128 писал(а): Дайте возможность компоновщику потрудиться )