Вопросы по отладке

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

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

Сообщение Just_Fluffy »

Нефертити
Я к тому, что если хочется полноценной отладки на семействе AVR, то мною предложено несколько вариантов.
1. Взять debugWIRE программатор и отлаживать мегу 8
2. Взять что то с ЖТАГом и отлаживать недорогими аппаратными средствами. Но для этого МК должен уметь ЖТАГ.
Потом перенести код в целевой МК.
Ближайший к меге 8 МК с ЖТАГом - это 32 мега. В ней есть абсолютно все, что есть в восьмерке и даже чуть больше. Поэтому любой код, работающий на восьмерке - можно отлаживать на 32 меге, подкорректировав область описания периферии.

Есть 10 типов людей - которые работали с внутрисхемной отладкой на АВР и которые только слышали про нее.
dixi.

ПС. не судите других по себе.
Белая и Пушистая
Реклама
Аватара пользователя
Нефертити
Встал на лапы
Сообщения: 84
Зарегистрирован: Ср дек 06, 2023 23:51:29
Откуда: 48

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

Сообщение Нефертити »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4541492#p4541492"]Нефертити
Я к тому, что если хочется полноценной отладки на семействе AVR, то мною предложено несколько вариантов.
1. Взять debugWIRE программатор и отлаживать мегу 8[/uquote]
Вы это в глаза когда-нибудь видели?
Прежде чем советовать, ...

PS Конечно, барышня ни о чём, только апломб.
Относись к людям так, как хочешь, чтобы они относились к тебе.
Реклама
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Нефертити, Девочка, если тебе сказать нечего, то лучше помолчи.
И да, отладку на драконе я видела. И не только.
Белая и Пушистая
Аватара пользователя
Нефертити
Встал на лапы
Сообщения: 84
Зарегистрирован: Ср дек 06, 2023 23:51:29
Откуда: 48

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

Сообщение Нефертити »

А при чём здесь тобой так называемый "дракон"? Что это такое?
Не отклоняйся от темы.

Добавлено after 4 minutes 58 seconds:
Слюни выползали в коридор?

Добавлено after 5 minutes 9 seconds:
Martian, это не "она".

Добавлено after 45 minutes 42 seconds:
Just_Fluffy, Давай, покажи своего своего AVR Dragon? Или, хотя-бы, что ты видела?
Или, я что-то видела, но только один раз?

Добавлено after 7 minutes 55 seconds:
Пустомеля.
Относись к людям так, как хочешь, чтобы они относились к тебе.
Реклама
Эиком - электронные компоненты и радиодетали
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

Нефертити, ты сомневаешься в субъективности моих оценок? Я видел её работы. Читал сообщения. Посмотрел Дракона (раньше не знал о нём). Мой стиль работы примерно выражен как "нажать паузу в IDE и смотреть все, что творится в МК". Что-то не так? Может, мне и за другие оценки перед тобой отчитаться?
Реклама
Аватара пользователя
Нефертити
Встал на лапы
Сообщения: 84
Зарегистрирован: Ср дек 06, 2023 23:51:29
Откуда: 48

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

Сообщение Нефертити »

Я не сомневаюсь в субъективности твоих оценок.
Как, вообще, можно сомневаться в субъективности чьих-либо оценок?
Я ведь их не делал.
Ну, этих субъектов.
Относись к людям так, как хочешь, чтобы они относились к тебе.
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

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

Сообщение Martian »

Тогда с какой целью это было сказано: [uquote="Нефертити",url="/forum/viewtopic.php?p=4541553#p4541553"]Martian, это не "она".[/uquote]
?
и причём тут
Нефертити писал(а):Я ведь их не делал.
Ну, этих субъектов.
?

Ты вообще думаешь, когда пишешь? Ты сейчас написало(не знаю, к какому роду принадлежит существо, с ником Нефертити и используещее глагол "делал"), что не делало субъектов, продолжая о субъективности моей оценки, то есть, заявляешь, что не делало меня? Однако, ты - дебилко охамевшее.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25205
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

Сообщение КРАМ »

[uquote="Нефертити",url="/forum/viewtopic.php?p=4541490#p4541490"][uquote="КРАМ",url="/forum/viewtopic.php?p=4541484#p4541484"]Стандартная практика при использовании эмулятора - применение ...[/uquote]
А причём здесь эмуляторы?
Мы говорим о внутрисхемной отладке.[/uquote]
Вообще то эмулятор является инструментом внутрисхемной отладки.
Намекаю. Эмулятор и симулятор - "это две большие разницы и каждая из них разная" (с) :tea:
ЗЫ. Нащщет дебилка охамевшего поддерживаю предыдущего оратора.
AQ29
Прорезались зубы
Сообщения: 200
Зарегистрирован: Сб июл 30, 2011 21:00:24

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

Сообщение AQ29 »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4540083#p4540083"]Какая разница с какой скоростью выводятся данные в ПО? Хоть гигабит в секунду. На экране они появятся неизвестно когда. Просто потому, что ПО в винде или линуксе не является реальным временем. Но и это ерунда. Человек не в состоянии считать с экрана быстро меняющиеся данные. Ну бежит скролл по экрану и что с ним делать?[/uquote]
Похоже, вы не поняли принцип отладки.
Количество выбрасываемых в отладчик байтов ограничено. В принципе, максимальное число ограничено размером свободного места в памяти SRAM в МК отладчика, на практике достаточно 100 байт. После заполнения этого объёма приём прекращается, останавливается и скролл на экране компьютера. А дальше можно спокойно анализировать данные на экране компьютера.
Компьютер используется, фактически, в качестве дисплея.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4540083#p4540083"]JTAG просто сканирует заданные участки памяти с целью вывода на экран среды разработки. Есть желание наблюдать сечение - создавайте буфер в точке сечения и наблюдайте за ним.[/uquote]
При работе с JTAG мне неясно следующее.
Скажем, надо посмотреть несколько 4-байтных переменных. Пока JTAG выводит один байт первой переменной, остальные байты этой переменной и следующая переменная могут измениться, ведь МК не остановлен. Будут получены неправильные данные.
Можно приостановить МК или забросить переменные в буфер. Но это модификация кода и компиляция с прошивкой.
В моей отладке всё проще, на время вывода переменных МК останавливается.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4540083#p4540083"]Скорость вывода не имеет никакого значения, поскольку сам интерфейс при выводе работает автономно. Поэтому, что УАРТ, что SPI - без разницы. Любой интерфейс будет занят и будет требовать кусок кода.[/uquote]
В моей отладке USART и SPI не используются. При отладке лучше всего не использовать никакие периферийные устройства, поскольку они могут быть заняты основной программой.
Вывод байтов в отладчик делается программно, при этом МК останавливается. Чем меньше время остановки, тем лучше, меньше вероятность искажения работы программы.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4540083#p4540083"][uquote="AQ29",url="/forum/viewtopic.php?p=4540051#p4540051"]Обычно для расчёта функции используется линейная аппроксимация, а при этом используется массив чисел.[/uquote]
Это чушь. Но дело даже не в этом. Один раз написав функцию, далее ее можно просто копипастить из проекта в проект.[/uquote]
Аппроксимация функции отрезками линий – это не чушь. Похоже, вы никогда не делали этого.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4540083#p4540083"]Запись во флеш - это достаточно длинный ассемблерный код. Причем с ограничениями. В подавляющем количестве платформ не симулируется.[/uquote]
Понятно, что запись во флеш – это не одна ассемблерная команда.
Но остальные команды точно симулируются, а вот симулируется ли команда SPM, скажем, в старых программах – вопрос. Я не вижу проблем с симуляцией этой команды, так что, вполне возможно, вашу ошибку можно было просто найти в хорошем симуляторе.
Ошибку нетрудно найти и с помощью дебаггера.
Но вы рассматриваете только ваш случай, а ситуация бывает разной. Скажем, отлаживаемая установка находится в цехе. А туда не всегда есть доступ, то сдача продукции, то ещё чего. В соседнем помещении могут включить испытательное грохочущее оборудование и т.д.
В тихом просторном кабинете отлаживать удобнее.

В симуляторе, которыми пользовался, нет моделей конкретного МК. Симулируются команды ассемблера. Симулятор просто идёт по командам ассемблера, поэтому можно смотреть любой МК.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4540266#p4540266"]Потому что на любой чих вам нужно писать хоть и небольшой, но код.
А для двусторонней "отладки" - еще больше кода. Который тоже надо отлаживать.
А для того, что бы остановить программу в любом месте без перекомпиляции проекта и вдумчиво просмотреть все регистры МК, область ОЗУ... еще код писать?
А сможете?
....
а КРАМу не надо ничего писать. Ему достаточно нажать паузу в IDE и смотреть все, что творится в МК. И даже поменять.[/uquote]
Написать строчку вывода переменной в отладчик – несколько секунд, представлять это проблемой несерьёзно.
Я не останавливаю МК, остановка – прощай реальный режим, всерьёз это не рассматриваю.
Я не смотрю, даже вдумчиво, на все регистры МК, зачем на них смотреть.
Точнее, когда начинал изучать МК, с интересом смотрел в симуляторе, как меняются регистры РОН, но это было в далёком прошлом.
Да и в программе почти отсутствуют в явном виде регистры РОН, есть переменные, вот их и смотрю, этого достаточно для быстрой отладки.

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

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

Сообщение Just_Fluffy »

AQ29, Вы начинаете повторяться.
Если сильно хочется поговорить за отладку, то создавайте отдельный топик, как правильно отметил БОБ.
Выкладывайте примеры схем, алгоритмы, идеи... И будем обсуждать.
AQ29 писал(а):Ваше мнение об отладке «по двум проводкам» было бы объективным, если бы вы поработали с такой отладкой.
Не поверите, но за свою долгую и нелегкую жизнь у меня было много разных проектов. И разных работ. Как связанных с электроникой и программированием, так и не связанных. Включая разработку и отладку ISA-плат расширения (если помните, что это такое).
У меня была отладка даже по одному проводу + лог.анализатор.
Выплюнуть по двум проводкам какие то данные - это ну вообще не проблема. Просто при наличии нормальных средств это не нужно. Даже тупо неудобно. И жалко 2 вывода.
Так что про мангустины можем и поспорить. И о типе масла, на котором их готовят.
AQ29 писал(а):Я не смотрю, даже вдумчиво, на все регистры МК, зачем на них смотреть.
Под регистрами МК подразумеваются не только РОН. Регистры периферии - тоже регистры МК.

ВКстати, ваш сценарий - заполнить в ОЗУ 100 байт и потом их смотреть - не требует двух проводов. Отладчиком точно так же можно посмотреть эту область ОЗУ.
А влажные истории про отладку в цеху простых поделий на АВРках (тема ж про ассемблер АВР) - это высосано из пальца.
А на стенде можно и останов смотреть.
Белая и Пушистая
AQ29
Прорезались зубы
Сообщения: 200
Зарегистрирован: Сб июл 30, 2011 21:00:24

Re: Вопросы по отладке

Сообщение AQ29 »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4546398#p4546398"]Не поверите, но за свою долгую и нелегкую жизнь у меня было много разных проектов. И разных работ. Как связанных с электроникой и программированием, так и не связанных. Включая разработку и отладку ISA-плат расширения (если помните, что это такое).
У меня была отладка даже по одному проводу + лог.анализатор.
Выплюнуть по двум проводкам какие то данные - это ну вообще не проблема. Просто при наличии нормальных средств это не нужно. Даже тупо неудобно. И жалко 2 вывода.
Так что про мангустины можем и поспорить. И о типе масла, на котором их готовят.[/uquote]

Поверю. Что вы давно занимаетесь МК, я давно понял.
Написал, что вы плохо представляете мою отладку «по двум проводкам», по следующей причине.
Ранее вы писали, что мне для просмотра регистров, ОЗУ, надо писать код, да ещё смогу ли я это сделать.
Всё гораздо проще. Вообще-то у меня в программе нет регистров, ОЗУ, есть только переменные. Посмотреть любую переменную очень просто, это одна команда, написать которую займёт 10 секунд. А переменная может быть объявлена в разных местах, и в РОН, и в РВВ, и в SRAM, и в EEPROM.
В старом варианте была ещё команда просмотра массива, в новом пока не сделана.
Не может быть для меня проблемой написать простую команду, которая ненамного сложнее команды NOP.

У логического анализатора своё назначение. Использовать его для отладки «внутренней» части программы - это что-то школьно-любительское, всерьёз этот вариант не рассматриваю.

У JTAG используется 4 вывода, народ пользуется и доволен, у меня, на практике, один.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4546398#p4546398"]Просто при наличии нормальных средств это не нужно.[/uquote]

Вот это заявление для меня сильно сомнительно. Насколько помню, у вас производится остановка МК, т.е. анализ только в одной точке. Это сильно ограничивает область применения. Насколько представляю, в некоторых случаях отладка даже невозможна, а отлаживать надо.
В моём отладчике таких ограничений нет.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4546398#p4546398"]А влажные истории про отладку в цеху простых поделий на АВРках (тема ж про ассемблер АВР) - это высосано из пальца.
А на стенде можно и останов смотреть.[/uquote]

На обычном ассемблере не пишу, это прошлый век.
В КБ на основном месте работы нет возможности проводить реальную отладку, нет компонентов для работы аппарата.
Да и вообще мы давно перешли на цивилизованную работу. В КБ нет вытяжки, нет пайки, нет осциллографа, реальная отладка невозможна. Рядом сидят инженеры-механики, зачем им дышать паяльной вонью. А с симулятором можно работать.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25205
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Вопросы по отладке

Сообщение КРАМ »

[uquote="AQ29",url="/forum/viewtopic.php?p=4570393#p4570393"]В КБ на основном месте работы нет возможности проводить реальную отладку, нет компонентов для работы аппарата.
Да и вообще мы давно перешли на цивилизованную работу. В КБ нет вытяжки, нет пайки, нет осциллографа, реальная отладка невозможна. Рядом сидят инженеры-механики, зачем им дышать паяльной вонью. А с симулятором можно работать.[/uquote]
Вы гордитесь тем, что у вас не приспособленное для работы место?
Если вас устраивает симулятор, значит проекты крайне примитивны.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Вопросы по отладке

Сообщение Just_Fluffy »

AQ29 писал(а):Вот это заявление для меня сильно сомнительно. Насколько помню, у вас производится остановка МК, т.е. анализ только в одной точке. Это сильно ограничивает область применения.

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

Re: Вопросы по отладке

Сообщение BOB51 »

Платы "прототипы" для ISA шины...
НОСТАЛЬЖИ !...
:hunger:
(как и книга для их изучения/разработки).
Правда тогда ПК мало чем по ресурсам от современного МК отличался. Зато полезных навыков давало.
8)
Кыстати...
Если тема про отладку...
Так может лучше не поцарапсами заниматься, а выкладывать каждый метод для ознакомления (указывая и плюсы и минусы в особенностях работы) - а уж какой из предложенных в конкретной ситуации полезным и удобным будет то котятки сами выберут.
Так заметно конструктивные и полезнее тема будет.
:beer:
AQ29
Прорезались зубы
Сообщения: 200
Зарегистрирован: Сб июл 30, 2011 21:00:24

Re: Вопросы по отладке

Сообщение AQ29 »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4570400#p4570400"]Вы гордитесь тем, что у вас не приспособленное для работы место?
Если вас устраивает симулятор, значит проекты крайне примитивны.[/uquote]
В КБ – работа с документацией, разработка схем и программ, обсуждение с коллегами и руководством вопросов. В КБ чистые компьютерные столы, чистый воздух, паяльная вонь ни к чему. Отладка – в лаборатории, где есть вытяжка, приборы и прочее.
Для таких разработок это хорошее решение.
Когда-то у нас стояли пульты в КБ, но это было в далёком прошлом.
Насчёт симулятора – это несерьёзно. Симулятор – один из инструментов отладки, может использоваться и в простых, и в сложных проектах.

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4570607#p4570607"]Отладчик позволяет проводить анализ в любой точке. И таких точек может быть очень много. Но убеждать вас в этом я не вижу смысла. Вы уперлись в одну узкофункциональную технологию - и всё.[/uquote]
Про количество точек. Говорилось о количестве точек при реальной работе. Если вы остановили аппарат, реальная работа закончилась, получилась одна точка анализа.
Неясно, в чём вы увидели узкофункциональность моей технологии. Использую её во всех проектах, это основной отладочный инструмент.

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4570607#p4570607"]И я так и не поняла, кстати, вы свои мегапроекты на атмеге отлаживаете в цеху или в симуляторе? Вы как то определитесь....[/uquote]
Применение предлога «или» в вопросе некорректно. При отладке в зависимости от ситуации использую разные инструменты: и отладчик, и симулятор, и осциллограф, и логический анализатор, и логический пробник.
С симулятором можно работать в КБ, остальное – в цеху.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25205
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Вопросы по отладке

Сообщение КРАМ »

[uquote="AQ29",url="/forum/viewtopic.php?p=4573046#p4573046"]В КБ – работа с документацией
Отладка – в лаборатории[/uquote]
Бегать что ли? Зачем?
Отладка если и требует пайки, то очень редко. Отладка на 99,9(9)% - это работа с кодом на реальном оборудовании.
[uquote="AQ29",url="/forum/viewtopic.php?p=4573046#p4573046"]Симулятор – один из инструментов отладки, может использоваться и в простых, и в сложных проектах.[/uquote]
Проблема симулятора в том, что ему нужны реалистичные модели внешнего к контроллеру оборудования. Самое сложное - это физические модели внешних полей и механических устройств, а также трансдьюсеров. Основной баг моделей в детерминированности всех этих сущностей. Реальные устройства в реальной обстановке практически не моделируются, либо требуют невменяемой производительности компьютера и столь же невменяемого времени на создание модели.
Если речь идет о каких то циклопических устройствах, то аппаратно-программные модели входят в проект, но чаще всего проекты более приземленные и при этом весьма сложные.
[uquote="AQ29",url="/forum/viewtopic.php?p=4573046#p4573046"]Про количество точек. Говорилось о количестве точек при реальной работе.[/uquote]
Количество ОДНОВРЕМЕННЫХ точек контроля в JTAG ограничено только скоростью сканера JTAG и возможностью глаза различить каждый захват данных. Но возможность глаза ограничивает ЛЮБОЙ инструмент отладки в реальном времени.
Например сейчас я контролирую в реальном времени порядка 20...25 переменных одновременно.
Проблемы со слайд-шоу начинаются примерно с 50...100 переменными.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы по отладке

Сообщение BOB51 »

Побегать придется в случае если при разработке сразу два варианта ошибок были обнаружены - в программе и в схемотехнике/железе (да еще и взаимосвязанные).
Но то отдельные ситуации. В каждом конкретном случае для их решения заранее планируется методика отладки от программных тестов до специальных аппаратных имитационных модулей.
8)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25205
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Вопросы по отладке

Сообщение КРАМ »

[uquote="BOB51",url="/forum/viewtopic.php?p=4573069#p4573069"]В каждом конкретном случае[/uquote]
Даже если создан программно-аппаратный комплекс, то и тогда он является реальным оборудованием, а не симулятором.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы по отладке

Сообщение BOB51 »

Но в процессе работы над "тест-добавками" может и симулятор использоваться и эмулятор. К примеру вместо МК подключен через спец переходник ПК комплекс с эмуляцией того МК...Да и все методы часто взаимодополняющие. Одно другому не помеха.
Разница только в уровне задачи и материальных возможностях исполнителя.
8)
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25205
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Вопросы по отладке

Сообщение КРАМ »

[uquote="BOB51",url="/forum/viewtopic.php?p=4573079#p4573079"]Разница только в уровне задачи и материальных возможностях исполнителя.[/uquote]
Если уровень задачи примитивный, то никто не будет создавать какие то серьезные вещи, чтобы отладка стала реалистичной. Поэтому все заканчивается Протезом.
А если задача серьезная, но финансирования на отдельную разработку симулятора железа нет, то работу ведут со штатными аппаратными дебаггерами и реальным железом. Это самый распространенный вариант работы.
Ну если не считать всякие доморощенные отладчики "по одному проводу".
Ответить

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