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

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

Сообщение BOB51 »

Забыли однако про эмуляторы на основе ПК и соответствующего программного обеспечения симуляции МК для таких монстров.
Кстати... Когда-то это делалось с помощью платок-прототипов на ISA шине... Но и МК в те времена были в "младенческом возрасте". Хотя метод для отладки через эмулятор ПЗУ и сегодня может применяться для МК с соответствующей аппаратной поддержкой.
Разве что соорудить такой комплект любителю порой сложнее, чем самоделку сделать. Тем более, если данное устройство всего разок использовано будет, а дальше - отлеживаться "на полке" в кладовке.
8)
Реклама
Встал на лапы
Сообщения: 145
Зарегистрирован: Вс авг 23, 2015 08:14:05

Сообщение Denis82 »

SWD/JTAG наше все, потому что:
1 - работает из коробки
2 - удобно
3 - можно увидеть все что нужно и даже чуть больше
4 - дебаг в реальном устройстве и в реальном времени

Если к этому добавить ЛА и осциллограф то видно и понятно 99.9% того что происходит в устройстве, собственно а что ещё разработчику то нужно :))

Поэтому в 99,99% проектов всякие протеусы, светодиоды, UART/SPI/I2C/etc для отладки либо прошлый век, либо от безысходности
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Denis82, неее, вы не понимаете... СВД/ЖТАГ - отстой! Оно ж позволяет видеть только в одной точке и только при останове....
А расово верная отладка по двум проводкам с доп.кодом программы - это истинная отладка на все времена ))))
А алгоритм-билдер - самый лучший и современный ассемблер! Там даже логарифм одной командой есть.
А ЮСБ-сниффер - это вообще инопланетные технологии, наверное. Ими же марсиане пользуются!
(ушла за попкорном)

Забыла добавить тег "сарказм"....
Упс... А его тут и нету....
Последний раз редактировалось Just_Fluffy Сб апр 27, 2024 09:42:16, всего редактировалось 1 раз.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Martian, а если добавить во флеш табличку - то "слючай может бить разный"
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Датышо!.... СПИ-флешка ж не програмируется по двум проводкам!
И прошить ее через АБ не получиццо...
От засада...
Да и в цеху неудобно пользоваться, наверное

Добавлено after 3 minutes 59 seconds:
AQ29, кстати, я что то пропустила, наверное.
Напомните, пожалуйста, вот эти ваши 2 проводка из меги - они куда подключены? К компу? по какому интерфейсу?

Ну и BOB51 дельную мысль высказал. Опишите ваш метод более подробно.... С примерами кода, с описанием отладчика/смотрелки...
А то дальше голых слов тема с прошлого года не движется.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Martian, в ваших условиях SPI-флешка. Это три провода.
А два провода - это отладчик у AQ29. И он односторонний. Поэтому зашить во флешку таблицы Брадиса будет сложно.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Если взять большое количество микроконтроллеров с рандомным содержимым флеша - то в каком то контроллере окажется полностью рабочая отлаженная программа без багов. Главное, иметь терпение найти такой МК среди других.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Друг Кота
Аватара пользователя
Сообщения: 6349
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4573769#p4573769"]Если взять большое количество микроконтроллеров с рандомным содержимым флеша - то в каком то контроллере окажется полностью рабочая отлаженная программа без багов.[/uquote]
Это как обезъяна, стуча по клавишам ноутбука, с ненулевой вероятностью напечатает "Евгения Онегина" ? :)) :) Надо только отсепарировать его от всяких "Война и мир", "Mein Kampf", "Камасутра" :shock:
Отладка, конечно, не нужна. Золотое правило радиолюбителя: собрал - включай. Ненужное отгорит само. 8)
Изображение
Грызет канифоль
Сообщения: 266
Зарегистрирован: Сб июл 30, 2011 21:00:24

Сообщение AQ29 »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4573061#p4573061"][uquote="AQ29",url="/forum/viewtopic.php?p=4573046#p4573046"]В КБ – работа с документацией
Отладка – в лаборатории[/uquote]
Бегать что ли? Зачем?
Отладка если и требует пайки, то очень редко. Отладка на 99,9(9)% - это работа с кодом на реальном оборудовании.[/uquote]
99,9% - это если в схеме кроме МК почти ничего нет. А если сложное изделие, то надо отлаживать также и схему. Тогда понадобится и пайка, и вытяжка, и приборы, и инструменты, и база радиоэлементов, и запасные блоки, и т.д. Фактически, надо делать в КБ минилабораторию.
Зачем, ведь есть нормальная лаборатория.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4573061#p4573061"]Проблема симулятора в том, что ему нужны реалистичные модели внешнего к контроллеру оборудования. Самое сложное - это физические модели внешних полей и механических устройств, а также трансдьюсеров. Основной баг моделей в детерминированности всех этих сущностей. Реальные устройства в реальной обстановке практически не моделируются, либо требуют невменяемой производительности компьютера и столь же невменяемого времени на создание модели.
Если речь идет о каких то циклопических устройствах, то аппаратно-программные модели входят в проект, но чаще всего проекты более приземленные и при этом весьма сложные.[/uquote]
Похоже, мы пишем о разных симуляторах.
Я пишу о симуляторе, встроенном в программную среду для МК.
Пользоваться таким симулятором очень просто.
Поясню, как он работает.
Жмёшь кнопку «Компиляция и симуляция». Открывается окно с текстом программы. Наводишь маркёр на строчку, начиная с которой нужно пройти по программе. Дальше шагаешь по программе и смотришь результаты выполнения каждой команды (задействованные переменные, время выполнения команды). Отладка становится банальной.
Не нужны никакие «реалистичные модели, физические модели внешних полей, трансдьюсеров» и прочего. Пару раз нажал на кнопки и далее шагаешь по программе. И без разницы, по какой программе шагаешь, простой, сложной или суперсложной.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4573061#p4573061"]Количество ОДНОВРЕМЕННЫХ точек контроля в JTAG ограничено только скоростью сканера JTAG и возможностью глаза различить каждый захват данных. Но возможность глаза ограничивает ЛЮБОЙ инструмент отладки в реальном времени.
Например сейчас я контролирую в реальном времени порядка 20...25 переменных одновременно.
Проблемы со слайд-шоу начинаются примерно с 50...100 переменными.[/uquote]
Я писал о точках в отлаживаемой программе. Одна точка соответствует одному времени, следующая точка – это уже другой момент времени. Соответственно, «одновременно» может быть только одна точка.
В моём отладчике «возможность глаза» ничего не ограничивает.
Выбрасываемые переменные запоминаются в МК отладчика, затем выводятся на экран компьютера. Далее их можно анализировать хоть целый день.
А количество переменных в одной точке у меня ограничивается, скорее всего, размером свободного SRAM в отладчике. Ну, и время вывода.
Интересно, какой размер (в байтах) переменных, про которые вы пишите (которые 50…100 штук)?
[uquote="BOB51",url="/forum/viewtopic.php?p=4573069#p4573069"]Побегать придется в случае если при разработке сразу два варианта ошибок были обнаружены - в программе и в схемотехнике/железе (да еще и взаимосвязанные).[/uquote]
Зачем бегать? Пришёл в лабораторию – и работай.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4573736#p4573736"]AQ29, кстати, я что то пропустила, наверное.
Напомните, пожалуйста, вот эти ваши 2 проводка из меги - они куда подключены? К компу? по какому интерфейсу?[/uquote]
Подключены к отладчику, точнее, к МК, расположенном в отладчике. Принимать байты ведь надо быстро. А отладчик шлёт их в компьютер.
Интерфейс – несколько модернизированный SPI.
В отладчике также сделан и программатор. Я назвал такое устройство дебаггером, но народу не понравилось.
Друг Кота
Аватара пользователя
Сообщения: 25894
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

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

[uquote="AQ29",url="/forum/viewtopic.php?p=4576941#p4576941"]Зачем, ведь есть нормальная лаборатория.[/uquote]
Ну так и работайте в этой лаборатории. Причем тут КБ? КБ - это помещение для конструкторов. Надеюсь вам не нужно объяснять чем отличается конструктор от схемотехника-эмбеддера?
[uquote="AQ29",url="/forum/viewtopic.php?p=4576941#p4576941"]Я пишу о симуляторе, встроенном в программную среду для МК.
Пользоваться таким симулятором очень просто.
Поясню, как он работает.[/uquote]
Это смешно... Вы полагаете, что я не знаю как работает симулятор в среде? :))) :))) :)))
Только проку от такой отладки НОЛЬ. Она если для чего то и нужна, так это для быстрой проверки чистой математики. Если на столе лежит аппаратный дебаггер и схема, то симулятор вообще бестолковая вещь. С реальным железом я даже такие простые вещи смогу во времени посмотреть с реальным тактированием, а не только тупую пошаговую последовательность.
Еще один недостаток симулятора среды - это его крайняя медлительность и пожирание ресурсов при трассировке.
[uquote="AQ29",url="/forum/viewtopic.php?p=4576941#p4576941"]В моём отладчике «возможность глаза» ничего не ограничивает.
Выбрасываемые переменные запоминаются в МК отладчика, затем выводятся на экран компьютера. Далее их можно анализировать хоть целый день.[/uquote]
А в штатном аппаратном дебаге ничего специально выводить на экран компьютера не требуется.
Просто в окне Watch открывается буфер контролируемых переменных (причем ИМЕНОВАННЫЙ, а не безымянный) и так же точно наблюдается хоть после останова, хоть в динамике. Повторю. Наблюдаются не сами переменные, а их значения защелкнутые в буфер в необходимых сечениях кода. То есть это обычный лог.
[uquote="AQ29",url="/forum/viewtopic.php?p=4576941#p4576941"]Подключены к отладчику, точнее, к МК, расположенном в отладчике. Принимать байты ведь надо быстро. А отладчик шлёт их в компьютер.
Интерфейс – несколько модернизированный SPI.
В отладчике также сделан и программатор. Я назвал такое устройство дебаггером, но народу не понравилось.[/uquote]
Вы, милейший, изобрели деревянный велосипед с квадратными колесами. Почитайте что нибудь про JTAG и вы обнаружите, что он примерно так и работает, только без "модернизированного SPI"... :tea:
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

КРАМ, Да забейте...
Человек под восьмой мегой в алгоритм билдере пишет, а вы тут - ЖТАГ, аппаратный дебагер, буфер контролируемых переменных... И много других умных слов... А человееку нравится стоя и в гамаке.
Модифицированный СПИ - наше все. А ЖТАГ - это проклятые буржуины придумали... За бочку варенья и пачку печенья.
Кстати, с треугольными колесами велик лучше. Амплитуда вертикальная больше. А еще на ём по лестнице можно ездить.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18793
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

когда встречаются два или более человека, уверенные, что "есть только 2 варианта - мой и неправильный", наблюдать за этим можно так же бесконечно, как и за течением воды...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

ARV, Если более двух человек, то и вариантов должно быть более двух. Минимум по числу человеков.
Хотя иногда бывают варианты
Из Парижу в Берлин на костылях, но через Амстердам, патамуша дорога ровная и известная идущему, а прямую Париж-Берлин он не ходил, она незнакомая. Вдруг там волки в лесу, Красну Шапку доедают),
Из Парижу в Берлин на персональном авто
Из Парижу в Берлин на TGV
Ну так два последних более правильные ))) Даже если на костылях
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Martian, в Амстердаме можно задержаться... Пока трава отпустит )))
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Martian, Если в AVR-ной Ардуине - то никак. Там же обычна АВРка без отладочного порта.
Отладку в ардуине делают принтом в компорт. А среда показывает напечатанное в мониторе. Т.е. лог по аналогии с поделием AQ29, но штатными средствами среды и плюсов.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Martian, ну если учесть, что дуина, это не только атмега,а еще и ЕСП, СТМ и еще всякие платы, то там вполне может быть нормальная внутрисхемная отладка...
Кстати, дуину на 2560 меге тоже можно через ЖТАГ дебажить.. но, боюсь, не средствами ардуиноИДЕ (я не знаю, что там сейчас у ардуинщиков по софту, мне нормальных студий хватает)
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Друг Кота
Аватара пользователя
Сообщения: 15795
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Версии ардуино IDE от 2.х.х и последняя 2.3.2 имеют отладку.
"...
The new major release of the Arduino IDE is faster and even more powerful! In addition to a more modern editor and a more responsive interface it features autocompletion, code navigation, and even a live debugger.
..."
Но то для виндовс 10 (и аналогично в других ОС х64). Эта версия IDE весьма "тяжеловесная" для старых ПК. Пока только "для коллекции" ставил...
:roll:
Друг Кота
Аватара пользователя
Сообщения: 15795
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

2.3.2 и на 7ке х64 работает.
Но уж слишком навороченная да частично "он лайн" (для полного использования возможностей) ..
Так что предпочтение старым - 1.8.9 для ОС х32
и 1.8.19 для х64.
:beer:
Поставщик валерьянки для Кота
Сообщения: 1981
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Последняя рабочая версия Arduino IDE2 у меня на win7x64 - v2.1.0.

IDE2 стала для меня "началом конца" Arduino - начали меня "терять" безвозвратно :). IDE2 превратился из "простого, быстрого" в "медленное" ПО (на I3 с SSD стартировал за 30 секунд), большой объем, с бессмысленными надстройками и обратной несовместимостью, а также с необработанными ошибками (напр. невозможность копированием данных из последовательного канала). Не то чтобы не было высокопроизводительных компьютеров с win10 и win11 ..., но "красота" системы напр. для начинающих "исчезла". Оставалось только стать платным :P.

IDE v1.8.19 использую для написания методы, алгоритмы для напр. драйверы периф. устройств. А из-за отсутствия занимания с Ардуино нашел (и использую) другие МК, их IDE, с их дебъгерами, програматорам, визуальными конфигураторами и т.п. :).

Изображение
Вложения
arduino_232.jpg
(193.61 КБ) 88 скачиваний
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 555
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

Как правило, дополнительная планка памяти и переход на SSD достаточно ощутимо оживляют старую технику.
А насчет Arduino IDE - ну вот не легла у меня к ней душа.
Даже после простенькой АврСтудии 4.19 среда Ардуино выглядела, как поделие студента на коленке. И кастрированный формат wiring-языка со скрытием аппаратных плюшек МК - тоже не понравился. Да, я понимаю, что это вариант для тех, кто не хочет/не может вникать в особенности архитектур МК... Им надо кнопочку нажать и что б лампочка мигала.
Но я считаю, что такое облегчение несколько дискредитировало область эмбеддинга, выводя на просторы интернета тонны "индусского быдлокода".
И вот такая изоляция скетчеписателя от архитектуры - у меня вызывает недоумение. И я не всегда понимаю, как можно что то делать правильно и красиво, не вникая в архитектуру периферии. Мое изучение МК начиналось с чтения даташитов и книжек по архитектуре АВРок, пошаговоэ выполнение ассемблерных программок в эмуляторе студии с изучением регистров периферии и их поведения, мигание светодиодиком на макетке... Но иногда складывается ощущение, что сейчас научился писать digitalWrite - и уже программист-эмбеддер.
Но я, хоть и Блондинко™, но человек технический. Поэтому период первичного знакомства с МК прошел быстро и дальше МК стали нормальным инструментом. И если для программирования под АВР на ассемблере мне хватало четвертой студии, то когда захотелось Си - мне стало не хватать плюшек нормальных IDE с подсветкой синтаксиса, автоподстановкой, автозавершением...
И пришлось переехать на Атмел студию постарше.
Когда настала пора изучать следующую архитектуру - то мне гораздо проще было поставить "придворную" IDE, заточенную производителем под свои МК, чем думать, как подружить кучу разного инструментария на ПК, что б оно заработало в принципе. Особенно с учетом того, что некоторый инструментарий надо отучать от вполне понятного желания разработчика получить за свой труд деньги.
Минусом такого подхода является зоопарк IDE у меня на ПК. Так же минусом можно считать особенности этих IDE, определяемые базовыми платформами движков.
Но в то же время плюс такого подхода - лицензионная чистота софта. А сейчас приходится это тоже учитывать.
И после всех плюшек других IDE среда Ардуино для меня выглядела несколько... убого.
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Ответить

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