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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Игорь_396, вместо LD R16,Z+ можно взять ADIW ZH:ZL, 1
Белая и Пушистая
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

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

Сообщение PicNov76 »

Del
Последний раз редактировалось PicNov76 Пн июн 10, 2024 11:07:26, всего редактировалось 1 раз.
Ну что, ремонтировать будем или пусть работает?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Код: Выделить всё

LPM   - загрузка из ячейки ПЗУ с адресом в Z в ячейку ОЗУ R0
MOV Rd,Rd  - как MOV Rd,R0
ADIW R30,K  где К=1 (R31:R30 = Z)
SBIW R30,K  где К=1
8)
AT90S2313.pdf
(1.63 МБ) 141 скачивание
шаблон_команд_AVR_2024.pdf
(266.52 КБ) 155 скачиваний
:sleep:
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

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

Сообщение PicNov76 »

LPM temp,Z+

Эквивалентно:

push r0
LPM
MOV temp,R0
ADIW R30,1;постинкремент
pop r0

Я вас правильно понял? Или надо еще из Z обратно 1 вычесть?
Ну что, ремонтировать будем или пусть работает?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Правильно.
Обычно R0 и R1 в программе не используются (резервируются для спец функций в командах математики и работы с ПЗУ). Так что если таковые команды в основной программе больше нигде не применяются можно R0 в стек не засылать.
То, что в Z осталось является следующим адресом в ПЗУ. Как с ним поступить дальше зависит от Вашей основной программы.
8)
Аватара пользователя
PicNov76
Открыл глаза
Сообщения: 58
Зарегистрирован: Сб дек 01, 2007 12:24:20

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

Сообщение PicNov76 »

Спасибо. Все скомпилилось. R0 в программе используется как переменная. В стек ее сохраню. LPM temp,Z+ конструкция R0 не использует.
Ну что, ремонтировать будем или пусть работает?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Так LPM temp,Z+ (по факту LPM Rd,Z+ где Rd любой из регистров РОН) в перечне доступных команд из даташита на at90s2313 просто отсутствует.
8)
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

Доброго времени всем))

Прошу сильно не ругать, но вопрос по LGT8f328p (но программирование на AVRASM-е же).
Начал таки изучать LGT8f328p, а куда деваться, я всего лишь радиолюбитель.

TWI - тоже самое что и в меге.
Со SPI разобрался, хоть и не сразу. Но понравился 32-х битный буфер. Удобно с TFT дисплеями работать, тем более на Fspi=16MHz

Сейчас с E2PROM-ом тоже разобрался.. почти.
Инициализировать, писать/читать сложностей не вызвало. Но не пойму как сохранять данные при перепрошивке. EESAVE наподобии.

Сейчас у меня код как и на мегах:

Код: Выделить всё

.DSEG
.ORG SRAM_START
var: .byte 1
;
.ESEG	
EE_var: .byte 1	
;
Подскажите пожалуйста, куда и как разместить .EESEG или добавить адрес через .ORG, что бы при перепрошивке сохранялись данные.

PS
Пробовал добавить .org 0x77FF (это минус 2к от 32к, но всё равно при перепрошивке вместо записаных данных выдаёт:
0xFF - если с инициализацией
и 0x00 - если без

PS2 в интернете пробовал искать.. но сами знаете, тотальное доминирование ардуины, и никакой информации толком нет :)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

У АВР формировался отдельный файл для ЕЕПРОМ, который шился отдельной кнопкой в АВРСтудии.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

Возможно код и адреса здесь непричём.. Возможно нужно смотреть опции заливки самой прошивки, что бы оставлять пространство..

Сейчас эксперементирую, е2пром если программно инициализировать, то после перепрошива данные читаются как 0хff, ну а потом пишет и читает как положенно.
А если е2пром не инициализировать программно (возможно предыдущая инициализация работает), то после перепрошива данные читаются как 0х00, и при этом опять же всё пишет и читает..

Странно всё конечно. Документации тоже нет нормальной.
А так контроллер мне понравился. С частью задач отлично справляется. Для меня основное, что среду разработки менять не нужно, а в производительности выигрыш очевиден.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

А как у той LGT8fхххх с протоколом прошивки?
Делается теми же средствами, что и для обычных АВРок или специальными программаторами?
:roll:
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

[uquote="BOB51",url="/forum/viewtopic.php?p=4612376#p4612376"]А как у той LGT8fхххх с протоколом прошивки?
Делается теми же средствами, что и для обычных АВРок или специальными программаторами?
:roll:[/uquote]
Рекомендованный программатор от Logic Green слишком дорог для меня.
Многие шьют через ардуино со специальным скетчем.
Но это не наш метод :))
Нашёл в сети прошивку к USBASP-у.
Старая привычная AVRDUDE ругалась, поэтому поставил AVRDUDESS 2.17 (avrdude version 7.3). Но шью из консоли, точнее запускаю батник по F5 в Notepad++ , и сразу идёт компиляция и прошивка. В батнике команды к avrasm2.exe и avrdude.exe. Всё достаточно легко и просто.
Изображение

Подключение:

Код: Выделить всё

	PIN		LGT8f328	USBASP		PIN

	[5]		SWC			MOSI		[1]
	[4]		RST			RESET		[5]	
	[3]		SWD			MISO		[9]

	[1]		GND						[10]
	[2]		VCC						[2]
Ссылку на прошивку USBASP-а не сохранил к сожалению, поэтому прикладываю скаченный ранее архив. Прошитый USBASP меги шить уже не будет с этой прошивкой.. На моём фото (а я помещаю USBASP-ы в обрезки кабельканала) я просто подписал его, что бы не путаться.

Через ардуино и USBASP не единственные способы, но про остальные не интересовался.

И ещё. Понимаю, что LGT тут не совсем в тему, и на этом форуме есть уже тема по LGT8f328p, но там как обычно ардуинщики обсуждают и меняются своими "библиотеками". Хотя гораздо полезнее рассматривать алгоритмы без привязки к какой либо среде. С удовольствием бы пообщался по данному контроллеру, можно в другой теме, но без ардуино :)
Ещё есть что спросить, и уже есть чем поделиться :))

И главное. Программирую на AVRASME, как и ранее. Немного только привёл свои старые файлы в соответствие :))

Добавлено after 50 minutes 3 seconds:
Сорри, чуть не забыл. lgt8f328Pdef.inc я взял из статьи Ревича:
1-я часть
2-я часть
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Таки печалька...
:roll:
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

[uquote="BOB51",url="/forum/viewtopic.php?p=4612413#p4612413"]Таки печалька...
:roll:[/uquote] Печалька в чём? Я покупал самые дешёвые платки рублей по 80+
А с остальным проблем не возникло ))
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Программатор городить надо...
:sleep:
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

BOB51 писал(а):Программатор городить надо...
:sleep:
Есть платы с юсб-и разъёмом. Шьются через загрузчик.. Но я в этом плохо разбираюсь :))
У меня упрощёнка и ничего лишнего :))
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

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

Сообщение BOB51 »

Это платки с бутлоадером для адуринки.
Но там соответствующие ограничения будут (согласно требованиям бутлоадера).
Да и загрузка из-под ардуино IDE...
Пока форсировать освоение ради спортивна интереса рановато... У китайцев много интересного, но основной гвоздь забивается при помощи отсутствия данных о протоколах загрузки прошивок (делает невозможным самостоятельное изготовление простых самодельных программаторов).
Да и пока тех МК не так уж и много в обозримом пространстве.
:roll:
john1770
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт ноя 15, 2016 12:48:20

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

Сообщение john1770 »

Почему ide ? дудкой только в путь.
На GitHub есть проект Братца Яна там есть протокол прошивки

Добавлено after 6 minutes 25 seconds:
Может кто знает как в Студии прикрепить к проекту бинарный файл чтобы не делать из него массив байт ?
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

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

Сообщение shonty »

[uquote="BOB51",url="/forum/viewtopic.php?p=4612450#p4612450"]делает невозможным самостоятельное изготовление простых самодельных программаторов
:roll:[/uquote] Так же шьют и при помощи копеечного преобразователя USB-TTL.
Я не рассматривал все варианты, остановился на доступном для себя.
[uquote="BOB51",url="/forum/viewtopic.php?p=4612450#p4612450"]Да и пока тех МК не так уж и много в обозримом пространстве.
:roll:[/uquote] Ну как бы скорее мег становится не много, и цена на них всё выше и выше.

Но у LGT есть озвученные баги. Это вроде как с Timmer3. Возможно ещё появятся.
Я же с 32-х битной записью в еепром так до конца и не разобрался. Но по 8 байт пишет нормально. Промониторил буржуйские сайты, информации крайне мало.

Для большинства задач чипа хватит. А мои поделки ориентированы на TFT дисплеи, и чип мне как раз кстати :) 32MHz от внутреннего RC при 3,3V и 32-х битный SPI буфер, как раз под TFT :)
Аватара пользователя
ДядяВован
Мучитель микросхем
Сообщения: 483
Зарегистрирован: Вс окт 25, 2020 22:13:25
Откуда: Смоленск

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

Сообщение ДядяВован »

shonty писал(а):lgt8f328Pdef.inc я взял из статьи
Могли бы Вы выложить этот файл?
Не нахожу его в статье, может из-за отсутствия регистрации.
Ответить

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