Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/32: Рейтинг темы: голосов - 32, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290

Как отлаживать программы?

31.07.2016, 22:35. Показов 6093. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Как в МК отлаживать прошивку?
Есть Coosox, есть дискавери, есть своя плата с таким же чипом, есть полный SWD на все 6 ног. Дальше что? Как отладить в реальном времени, если даже prymtf не компилируется?
Как проверить, включилась ли альтернативная функция (например SPI)?
И т.д...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2016, 22:35
Ответы с готовыми решениями:

IAR ARM: как отлаживать пошагово Си?
Доброго времени суток. Вопрос к мастерам инструментального софта IAR: Знаю, что можно настроить среду, чтобы при дебаге на симуляторе...

Как отлаживать программы под Windows Phone 8?
Написал программу. Всё успешно компилируется и деплоится на телефон, но окна программы я не вижу. Идёт постоянная загрузка. Как можно...

Как отлаживать в исходниках?
Добавил путь к исходникам в Настройки->Отладчик->Добавить исходники qt Заходит в .h,но не всегда. Главное: переключиться с, например,...

15
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
31.07.2016, 22:56
Для swd надо всего 2 пина, в крайнем случае +Riset.
Но вы можете продолжать слушать кухарок и игнорировать Keil...

Кстати, вариант изучения железа для ленивых- сляпать один main loop , запустить отладку , и дебагере Keil тыкать на биты периферии.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
01.08.2016, 03:10
Отладка? ...
ItisDrom, вот тут и становится ясно, почему народ колется, плюется, но все равно продолжает жрать ка Keil. Из-за отладчика. Вы можете считывать и модифицировать переменные и настройки аппаратуры во время выполнения программы. Всякие кокосы этого не умеют.
Можно еще попробовать VisualGDB, если очень нравится IDE VS, но там (пока) только переменные можно смотреть/менять во время выполнения, а с портами "увы".
0
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
01.08.2016, 03:39
Цитата Сообщение от u37
Можно еще попробовать VisualGDB, если очень нравится IDE VS, но там (пока) только переменные можно смотреть/менять во время выполнения, а с портами "увы".
Вкладку "Hordware Registers" глянь, вдруг там как раз те порты, которые нужны :)
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
01.08.2016, 11:05
А ST Link V2?

Я пока еще слабо представляю себе сущность отладки плат. Вот как отлаживать программы на компьютере - тут вопросов нет, все просто.

Вот типичные вопросы возникают, когда что-то не работает:
Как получить текущее значение переменной?
Как узнать, отправляются ли (принимаются ли) запросы с МК на другое устройство?
А правильно ли настроена ножка (порт) у МК?

Вот как вы справляетесь с подобным?
Примеров перед глазами, к сожалению, нет. И знакомых, кто этим бы занимался тоже нет. Всё сам.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
01.08.2016, 11:20
Цитата Сообщение от u37
Можно еще попробовать VisualGDB, если очень нравится IDE VS, но там (пока) только переменные можно смотреть/менять во время выполнения, а с портами "увы".
Ну вот значит GDB умеет, а VisualGDB вдруг нет? Порт, по большому счету, ничем от переменной не отличается, такая же область в памяти, только адреса другие.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
01.08.2016, 11:52
ItisDrom, логический анализатор просто необходимый инструмент. Стоит копейки...
0
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
01.08.2016, 12:01
Вот как вы справляетесь с подобным?
Примеров перед глазами, к сожалению, нет. И знакомых, кто этим бы занимался тоже нет. Всё сам.
Примеров полно, подумай с какими проблемами сталкивались люди до распространения инета, а ведь у них даже не было возможности пожаловаться на форуме как им тяжело справляться, совсем одним :) А вот особого желания хотя бы нагуглить парочку статей про отладку как-то не видно...
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
01.08.2016, 12:13
"Я пока еще слабо представляю себе сущность отладки плат. Вот как отлаживать программы на компьютере - тут вопросов нет, все просто."
Неожиданный ответ - так-же.
Добавляешь переменные, смотришь их значения в процессе работы. Если надо, можно выполнять код по шагам. Так-же делают графическое представление значений переменных во времени, а-ля осциллограф.

Что ST-Link, что "дискавери", всё одно, не важно. И там и там стоит один и тот-же отладчик.
0
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 2
01.08.2016, 12:13
С портами есть один нюансик))) - некоторые флаги сбрасываются при чтении и в итоге работающая в реальном времени программа перестает работать если идти в ней по шагам.
0
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
01.08.2016, 12:24
Цитата Сообщение от PRS
С портами есть один нюансик))) - некоторые флаги сбрасываются при чтении и в итоге работающая в реальном времени программа перестает работать если идти в ней по шагам.
Насколько я понимаю, чтение через JTAG/SWD не трогает никаких флагов.

P.S. Дело не в флагах, отладчик в пошаговом режиме влияет на очередность асинхронных операций, поэтому в отладчике программа вполне может себя вести не так, как в рабочем. Если совсем не повезет, то отладочный и рабочий бинарник могут вести себя по разному. Ловить rosi condition штука весьма неприятная и отладчик чаще всего помогает слабо или только мешает
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
01.08.2016, 14:07
Цитата Сообщение от u37
Добавляешь переменные, смотришь их значения в процессе работы. Если надо, можно выполнять код по шагам. Так-же делают графическое представление значений переменных во времени, а-ля осциллограф.
Это хорошо, только вот пошаговая отладка занимает секунды и минуты, в то время как реальная операция занимает миллисекунды. Вот тут может быть затык. Отладка говорит, что все хорошо, а в реальном режиме не работает. Как "отлаживать" временные интервалы?
0
1 / 1 / 0
Регистрация: 19.09.2012
Сообщений: 924
01.08.2016, 14:12
Цитата Сообщение от ItisDrom
Это хорошо, только вот пошаговая отладка занимает секунды и минуты, в то время как реальная операция занимает миллисекунды. Вот тут может быть затык. Отладка говорит, что все хорошо, а в реальном режиме не работает. Как "отлаживать" временные интервалы?
В голове. Или на бумажке. Нарисуйте диаграмму взаимодействия, все станет намного прозрачнее.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
01.08.2016, 14:41
"Как "отлаживать" временные интервалы?"
Если нужно собрать данные о временах, то заводится быстродействующий таймер (можно брать и с SysTick) и с него считывается времена контрольных точек в переменные ... которые хорошо видны в отладке.
Если это чисто аппаратные события, без программной поддержки, то - осциллографом или никак. Дырки сверлить в корпусе и подключаться к триггерам кристалла пока не научились.
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
01.08.2016, 14:46
Цитата Сообщение от u37
Отладка? ...
ItisDrom, вот тут и становится ясно, почему народ колется, плюется, но все равно продолжает жрать ка Keil. Из-за отладчика. Вы можете считывать и модифицировать переменные и настройки аппаратуры во время выполнения программы. Всякие кокосы этого не умеют.
Серьёзно?!
А я то, по неграмотности - успешно всё это проделывал в кокосе.
Теперь буду знать - низя!!! :-))
0
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
01.08.2016, 16:25
Цитата Сообщение от ItisDrom
Отладка говорит, что все хорошо, а в реальном режиме не работает. Как "отлаживать" временные интервалы?
Опять же логический анализатор. Дерганье разными пинами подключенными к анализатору при определенных событиях. Потом в программе смотрится очередность событий, времена, задержки одного события перед другим и прочее.
Более медленные события: вывод лога в терминал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.08.2016, 16:25
Помогаю со студенческими работами здесь

Как отлаживать плагины?
Пишу плагин для QGis. Каким образом его можно отлаживать ?

Как отлаживать проект?
Здравтсвуйте, есть уже готовый,работаюший сайт, который нужно дорабатывать и модернизировать Каким образом, правильнее всего организовать...

Как отлаживать библиотеку
Пишу библиотеку DLL Как ее отлаживать?

Как отлаживать проекты в убунту?
Я всегда работал под WINDOWS в Android Studio а мне сейчас нужно вести отладку под ubuntu. Как настроить среду так чтобы мой подключенный...

Как отлаживать программу на FoxPro 9?
Собственно subj. Поискал в инете насчет отладки - мало информации. Нужно протрассировать начальную форму - как происходит инициализация...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru