реклама на сайте
подробности

 
 
> Тонкости отладки, JTAG, printf, светодиоды, ножки + осциллограф
haker_fox
сообщение Jul 3 2018, 09:00
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день, коллеги!

Собственно говоря, вопрос в теме. Просьба поделиться, кто как отлаживает свои проекты, выполненные на микроконтроллерах. Ядро не принципиально, но лучше Cortex-M0/3/4(F).

Почему возник вопрос? Раньше я не пользовался для отладки JTAGом. В не меньшей степени этому способствовали отзывы об этом инструменте уважаемого zltigo. Кто на форуме давно, тот поймёт. Поэтому я поднимал консольку. И работал с ней. Где было необходимо посмотреть вывод программы, добавлял свои версии printf. Либо махал лапками, с подключенным оциллографом. Потом, попробовав вкусности, предоставляемые JTAG, пользовался только им. При этом вывод в консоль стал если не вторым по приоритету, то точно на равне с отладчиком. Но вот проблема. Пользователю нужно отправлять программу с выставленными уровнями оптимизации (обычно balanced для IAR). Отладживать же программу с этим уровнем не всегда удобно, т.к. исчезают переменные, ветвления и даже функции. Т.е. возниакает предположение, что JTAG годится только для черновой и грубой отладки. Дальше поднимаем уровень оптимизации, и пользуемся printf'ом и подобными инструментами. Но как принтфом получить информацию, что, скажем содержится в регистрах ssp или dma модуля, как остановить программу в нужном месте и посмотреть переменные? Как отследить call stack? Уважаемый zltigo часто говорил, что ему хватает только консольки, и за отладчик он берётся только в особо сложных случаях.
В общем я снова стал приходить к выводу, что отлаживаться через аппаратный отладчик - бесполезная затея. Нужно сразу выставлять уровень оптимизации на максимум, и использовать иные способы. В связи с этим у меня возникла определённая каша в голове, и захотелось услышать мнение коллег по этому вопросу? Возможно ли использовать что-то вместо JTAG при отладке, почти не уступающее ему по возможностям? Или может быть я вообще не тем путём иду?
Спасибо!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
haker_fox
сообщение Jul 4 2018, 10:19
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (jcxz @ Jul 4 2018, 17:53) *
Тогда у Вас всё впереди laughing.gif

Ну так мне это действительно интересно! Я и тему это создал ради интереса, удовлетворения потребности расширения кругозора))) Когда у меня реальные трудности на работе, я практически не создаю темы, а сижу, и упорно решаю задачу. Так, что созданные темы на форуме - скорее показатель жажды знаний.
QUOTE (jcxz @ Jul 4 2018, 17:53) *
Тогда вопрос поставлен неправильно. Ибо зачем "без JTAG"? Чтобы создать себе трудности, чтоб жизнь мёдом не казалась? rolleyes.gif Для достижения результата стОит (и нужно) использовать все методы, позволяющие достичь его с бОльшей скоростью и меньшими тратами.

Вполне возможно, я посавил вопрос некорректно для других людей. Но ещё раз: я использую JTAG. Каждый рабочий день. На равне с этим я использую printf, консоль из состава FreeRTOS, журнал событий в EEPROM, ведётся логгирование на NAND. Но мне стало интересно, а можно ли без него, но по возможностям, не уступающим? Неужели, вы никогда не пробуете сделать что-то не стандарным путём, а альтернативным?

QUOTE (jcxz @ Jul 4 2018, 17:53) *
При чём тут идеальность? Моя продукция не валится при включении оптимизации. Ибо когда такое происходит, я берусь за отладчик и не двигаюсь дальше, пока не найду причину.

Ещё раз, я интересуюсь альтернативным путём. Работа моя (за которые деньги получаю) не стоит. Мне не платят за одни мечтания. Поэтому я тоже беру все отладочные средства, которые у меня имются, и ищу проблему. Ибо начальнику нужен результат.

З.Ы. Может быть вы не позволяете себе мечтать?)))))

QUOTE (jcxz @ Jul 4 2018, 17:53) *
(и нужно) использовать все методы, позволяющие достичь его с бОльшей скоростью и меньшими тратами.

Я не возражаю против этого по отношению к вам. Но сам с этим не согласен. Иногда считаю полезным пройти другим путём. Знаете ли, полезно)))) Люблю эксперементировать.

QUOTE (jcxz @ Jul 4 2018, 17:53) *
я берусь за отладчик и не двигаюсь дальше, пока не найду причину.

Если вы про J-Link, то тут главное не стать рабом этого средства) Потому, что оказавшись в поле, один на один с объектом, вы можете быть лишены возможности подключить отладчик, и даже вскрыть корпус. Но вам никто не запретит воткнуть USB кабель, и получить канал связи в своё распоряжение. Хотя можно J-Link запаять на плату в устройство, как вариант. Но это мне не подходит. Да и не одобрят мне такой подход. А вот консоль, журналы и т.д. и т.п. использовать можно.

Одно из наших устройств работает на электрической подстанции. И никто не будет отключать оперативное напряжение для того, чтобы мы открыли корпус. Но подключить ETHERNET/USB вполне могут. Вот и как отлаживать?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jul 4 2018, 10:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(haker_fox @ Jul 4 2018, 13:19) *
Но мне стало интересно, а можно ли без него
да
Цитата(haker_fox @ Jul 4 2018, 13:19) *
, но по возможностям, не уступающим?
нет.
Ибо зачем бы его тогда придумывали и лепили (прямо в ядро уже), если и без него можно и нет никакой разницы?
Цитата(haker_fox @ Jul 4 2018, 13:19) *
Неужели, вы никогда не пробуете сделать что-то не стандарным путём, а альтернативным?

Трусы всегда надеваю через ноги, через голову никогда не пробовал. Если Вы про это.... cool.gif

Цитата(haker_fox @ Jul 4 2018, 13:19) *
Если вы про J-Link, то тут главное не стать рабом этого средства) Потому, что оказавшись в поле, один на один с объектом, вы можете быть лишены возможности подключить отладчик, и даже вскрыть корпус. Но вам никто не запретит воткнуть USB кабель, и получить канал связи в своё распоряжение.

Я не про J-Link. Я про весь отладочный комплекс.
Видимо Вы не читаете мои сообщения..... sad.gif Прочитайте моё сообщение выше, про каналы отладки, которые мне приходилось использовать: https://electronix.ru/forum/index.php?showt...p;#entry1570953

Цитата(haker_fox @ Jul 4 2018, 13:19) *
Одно из наших устройств работает на электрической подстанции. И никто не будет отключать оперативное напряжение для того, чтобы мы открыли корпус. Но подключить ETHERNET/USB вполне могут. Вот и как отлаживать?

Вы не поверите, но уже десятки тысяч моих устройств работают на электрических подстанциях РФ и соседних стран (и не очень соседних). И никто не отключает напряжение, когда нам надо что-то проверить в своих устройствах laughing.gif
PS: А вот USB на подстанциях не место. Имхо.....
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- haker_fox   Тонкости отладки   Jul 3 2018, 09:00
- - jcxz   Цитата(haker_fox @ Jul 3 2018, 12:00) Отл...   Jul 3 2018, 09:15
|- - haker_fox   QUOTE (jcxz @ Jul 3 2018, 17:15) А зачем,...   Jul 3 2018, 10:16
|- - jcxz   Цитата(haker_fox @ Jul 3 2018, 13:16) Бан...   Jul 4 2018, 08:07
|- - haker_fox   QUOTE (jcxz @ Jul 4 2018, 16:07) Вместо т...   Jul 4 2018, 09:48
|- - jcxz   Цитата(haker_fox @ Jul 4 2018, 12:48) Да?...   Jul 4 2018, 09:53
- - Arlleex   Добрый день! Вопрос больше религиозный - кому ...   Jul 3 2018, 10:17
|- - kolobok0   Цитата(Arlleex @ Jul 3 2018, 13:17) ..Воп...   Jul 3 2018, 11:04
- - x893   Jlink (SWD) + RTT   Jul 3 2018, 10:58
- - scifi   Цитата(haker_fox @ Jul 3 2018, 12:00) Пол...   Jul 3 2018, 11:49
- - haker_fox   Коллеги, спасибо! Я не собираюсь отказываться ...   Jul 3 2018, 13:36
- - Kabdim   Конкретно поинт про ненужность дебагера у злтиго с...   Jul 3 2018, 13:49
|- - haker_fox   QUOTE (Kabdim @ Jul 3 2018, 21:49) Конкре...   Jul 3 2018, 13:59
|- - jcxz   Цитата(Kabdim @ Jul 3 2018, 16:49) Очень ...   Jul 4 2018, 08:18
|- - AlexandrY   Цитата(jcxz @ Jul 4 2018, 11:12) Полность...   Jul 4 2018, 08:22
|- - Kabdim   Цитата(AlexandrY @ Jul 4 2018, 11:22) GCC...   Jul 4 2018, 09:25
- - AlexandrY   Цитата(haker_fox @ Jul 3 2018, 12:00) Соб...   Jul 3 2018, 14:08
- - uriy   Компилю сразу с включенной оптимизацией, если надо...   Jul 3 2018, 14:08
- - haker_fox   QUOTE (AlexandrY @ Jul 3 2018, 22:08) Да ...   Jul 3 2018, 14:34
|- - AlexandrY   Цитата(haker_fox @ Jul 3 2018, 17:34) ВО...   Jul 3 2018, 16:59
|- - haker_fox   QUOTE (AlexandrY @ Jul 4 2018, 00:59) у м...   Jul 4 2018, 04:34
- - k155la3   При работе с дебаггером : Вместо отладочного prin...   Jul 3 2018, 15:06
- - uriy   ЦитатаRTT хорош когда у чипа нет вывода SWO.Не сог...   Jul 3 2018, 17:59
|- - AlexandrY   Цитата(uriy @ Jul 3 2018, 20:59) Не согла...   Jul 4 2018, 08:10
- - uriy   Вот что оказывается надо сделать https://devzone.n...   Jul 4 2018, 05:02
- - haker_fox   Попробовал RTT. С наскоку (сразу) заработал вывод ...   Jul 4 2018, 05:42
- - uriy   ЦитатаЗдесь я SWO упомянул в связи с использование...   Jul 4 2018, 09:57
|- - haker_fox   QUOTE (jcxz @ Jul 4 2018, 18:30) Ибо заче...   Jul 4 2018, 12:28
|- - jcxz   Цитата(haker_fox @ Jul 4 2018, 15:28) Я н...   Jul 4 2018, 12:43
- - AlexandrY   Цитата(haker_fox @ Jul 4 2018, 13:19) Одн...   Jul 4 2018, 10:36
- - jcxz   Цитата(AlexandrY @ Jul 4 2018, 13:36) Так...   Jul 4 2018, 11:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 18:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.03758 секунд с 7
ELECTRONIX ©2004-2016