AVR Assembler

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

А как тогда парсеру понять, что мы прочли последний адрес массива?
Там ведь какой принцип работы:

на каждый адрес массива
.dw R0_Array
.dw R1_Array
.dw R2_Array
.dw R3_Array

идёт массив данных и адреса
R0_Array:
.db "R0 ",0x00
R1_Array:
.db "R1 ",0x01
R2_Array:
.db "R2 ",0x02
R3_Array:
.db "R3 ",0x03

этот массив сравнивается побайтно с буфером в RAM (куда складывались данные из USART) и если он совпал, то номер элемента из массива адресов сохраняется куда-то для последующей работы. По этому алгоритму нужно знать, сколько адресов в массиве, чтобы не улететь чёрт знает куда)
Окстись! Открой DataSheet и просветись!
Реклама
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Иван Михайлович, вы забыли главный закон инженера. Обьект. Свойства объекта. А это определенный склад ума. Так что фора есть.

Я давно уже на асме толком не писал. Лет 10. Так. Баловство. Я тогда на си перешёл. Окончательно и бесповоротно.

Мой способ тоже костыльный. Но. Ошибок не будет.
Вложения
size_2.jpg
(170.01 КБ) 74 скачивания
size_1.jpg
(190.18 КБ) 81 скачивание
Последний раз редактировалось Demiurg Ср июл 19, 2023 16:30:45, всего редактировалось 1 раз.
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

Способ очень похож, но более понятен, спасибо!
Окстись! Открой DataSheet и просветись!
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А зачем все эти навороты?
Строку файла intel hex8 даже 51я на 1МГц успевает и развернуть и проверить и разместить во внешнем ОЗУ накопителе (при скорости обмена 9600). При том, что еще и эхо возвращает в окно терминала...
:roll:
Последний раз редактировалось BOB51 Ср июл 19, 2023 16:00:24, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Рад был помочь. От PC в вашем случае уходите. Чревато.
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

[uquote="BOB51",url="/forum/viewtopic.php?p=4448858#p4448858"]А зачем все эти навороты?[/uquote]

Разве это навороты? :))
Просто алгоритм, который мне в голову пришёл
Последний раз редактировалось Иван Михайлович Ср июл 19, 2023 16:07:23, всего редактировалось 1 раз.
Окстись! Открой DataSheet и просветись!
Реклама
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

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

Сообщение BOB51 »

Если бы одна из таблиц (смещение) была в ОЗУ, а уж вектора в ПЗУ тогда еще оправдано.
Но обе в ПЗУ запихивать - это излишне.
8)
Но то уже "отклонение от темы".
потопаю дрематки.
:sleep:
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

[uquote="BOB51",url="/forum/viewtopic.php?p=4448868#p4448868"]Если бы одна из таблиц (смещение) была в ОЗУ, а уж вектора в ПЗУ тогда еще оправдано.
Но обе в ПЗУ запихивать - это излишне.
8)[/uquote]
Я не очень понял, это как?
Окстись! Открой DataSheet и просветись!
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Иван Михайлович, Что то ваши способы мне не нравятся. Если будут в дальнейшем вопросы, затруднения. Пишите в личку. Либо подробнейше поясняйте ваши мотивы.

И я вас не сразу понял. Почему. Зачем. А главное, на куа так через (_._).

Я делал нечто подобное. Вынос состояния регистров, ячеек памяти МК. Периферии МК. Состояние регистров периферийных модулей. Ртк, АЦП и так далее. И делал это по другому.

Добавлено after 3 minutes 4 seconds:
1. В дефайнах компилятора все регистры МК уже как то обозначены и пронумерованы.
2. Отсюда. Вы делаете лишнюю работу по нумерации регистров и это чревато ошибками при переходе на другие МК. Задача инженера ИСКЛЮЧИТЬ челоческий фактор и ошибки ещё даже на этапе помыслов.

Понимаете?
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

[uquote="Demiurg",url="/forum/viewtopic.php?p=4448875#p4448875"]1. В дефайнах компилятора все регистры МК уже как то обозначены и пронумерованы.
2. Отсюда. Вы делаете лишнюю работу по нумерации регистров и это чревато ошибками при переходе на другие МК. Задача инженера ИСКЛЮЧИТЬ челоческий фактор и ошибки ещё даже на этапе помыслов.

Понимаете?[/uquote]
Понимаю, пронумерованы они не просто так. Я привёл лишь примеры массивов первых регистров (хотя в программе они расписаны вплоть до UDR0), но далеко не все регистры пронумерованы последовательно, некоторые адреса в принципе могут быть зарезервированы.
Переход на другие мк и чреватость ошибок осознаю, я уже писал, что это тема выходного дня. Я художник, я видел так :))
Окстись! Открой DataSheet и просветись!
Это не хвост, это антенна
Сообщения: 1495
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Модераторы. Просьба оторвать уши Мартину. За то что влез со своими сапогами из навоза в мой рейтинг. Я вас давно просил. Отключите к едреней фене у меня функцию кармы и рейтинга. Мне это не интересно. Зато любая сволочь рада при своей неправоте нагадить мне в рейтинг и в карму.

Добавлено after 27 minutes 46 seconds:
Про художника не нужно. Если у вас нетрадиционные взгляды (не глумление! я сказал как есть) на вещи и они приносят результат, это только приветствуется. Но привносение хаоса в инженерные вещи не приветствуется.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

[uquote="Demiurg",url="/forum/viewtopic.php?p=4448884#p4448884"]нетрадиционные взгляды[/uquote]
Я бы назвал их не стандартными
Окстись! Открой DataSheet и просветись!
Встал на лапы
Аватара пользователя
Сообщения: 137
Зарегистрирован: Сб апр 04, 2009 04:12:23

Сообщение Arik »

Уважаемые коты, дайте пожалуйста ссылку рабочую на TAVRASM, ну похоронился он у меня вместе с древним ноутбуком а ссылки что-то не работают. Очень хочется камень побаловать прошивкой
[color=#FF0000]Тяжело в учении - тяжелей в бою![/color]
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

За tavrasm не скажу, но в сундуке есть инсталлятор старой аврстудио 4.19 (с avrasm2 и симулятором)...
(https://sunduk.radiokot.ru/view/?id=1687941443)
и, возможно, где-то в основной теме по ассемблеру для АВР что-то было:
https://radiokot.ru/forum/viewtopic.php?f=57&t=5931
8)
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пт июл 14, 2023 19:07:53

Сообщение Иван Михайлович »

Вот :)
Вложения
TAVRASMW.rar
(42.16 КБ) 66 скачиваний
Окстись! Открой DataSheet и просветись!
Встал на лапы
Аватара пользователя
Сообщения: 137
Зарегистрирован: Сб апр 04, 2009 04:12:23

Сообщение Arik »

Спасибо Всем, кто помог! особая благодарность Ивану Михайловичу за предоставленный архив.
Преодолев все проблемки и преграды создал дистрибутивчик готовый для работы, написал инструкцию для новичков.
Пожалуйста используйте на здоровье (новичкам) годится для совместного использования с обучалкой радиокота по контроллерам AVR

З.Ы, можно вместо обычного блокнота использовать Notepad3 визуально приятней, подсвечивает синтаксис
Вложения
AVR_ASM.rar
(263.09 КБ) 78 скачиваний
[color=#FF0000]Тяжело в учении - тяжелей в бою![/color]
Поставщик валерьянки для Кота
Сообщения: 1988
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Arik, для теста попробовал компиляции к очень старому проекту:
A Simple FM Stereo Transmitter using ATTINY12 microcontroller.

Вход: sttn12.asm для ATtiny12 из сайта. Результат: hex файл.
На фото 2 сравниваем hex с сайта и hex полученный при компиляции.

Спасибо за архив и описание работы! Будет использован при необходимости.
(Только командная строка... в 2023 ... уже отвык :) )

Изображение Изображение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15816
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А в СУНДУК заглянуть:
https://sunduk.radiokot.ru/view/?id=1337709935
https://sunduk.radiokot.ru/view/?id=1290675284
я то этими версиями не пользуюсь.
:wink:
Встал на лапы
Аватара пользователя
Сообщения: 137
Зарегистрирован: Сб апр 04, 2009 04:12:23

Сообщение Arik »

[uquote="veso74",url="/forum/viewtopic.php?p=4465990#p4465990"]Arik, для теста попробовал компиляции к очень старому проекту:

Изображение Изображение[/uquote]
компилятор ругается на 39 строку файла tn12def.inc её можно безболезненно закомментировать ";"
[color=#FF0000]Тяжело в учении - тяжелей в бою![/color]
Ответить

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