Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Просмотр переменных "на лету" в CooCox 1.7.7
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
smk
Поставил CooCox посмотреть что оно такое. В целом есть положительные моменты и даже очень хорошо для бесплатной среды. Однако хотелось бы видеть переменные по ходу отладки во время выполнения программы а не после ее остановки. Это как-то делается? Спасибо.
Integro
Цитата(smk @ Sep 29 2014, 13:34) *
хотелось бы видеть переменные по ходу отладки во время выполнения программы а не после ее остановки.

Не понял, видеть содержимое прям на лету? или вы о вводе отладочных cсообщений через jtag?

Golikov A.
думаю что-то типа автоапдейта значения переменных в кейле интересует.
sidy
Использовал CooCox 1.7.5 - в нем такой возможности не было. Думаю, что просмотр переменных на лету через jtag, во время выполнения программы, как в keil'e, может влиять на выполнение самой программы. Поэтому это и не реализовано.
smk
Цитата(Golikov A. @ Sep 29 2014, 21:25) *
думаю что-то типа автоапдейта значения переменных в кейле интересует.

Да, именно это.
Вот GDB отладчик, GDB сервер, C/C++ GDB Hardware Debugging plugin это предоставляет такую возможность?
ELEKTROS
Тоже бьюсь над проблемой отладки Real-time в CooCox с помощью ST-link, на одном форуме ответили что в Keil эта возможность есть, то есть смотреть переменные (но думаю и их редактировать) без останова программы, а вот братья китайцы похоже еще не научились это делать. Есть вариант STMStudio, но еще не пробывал ей пользоваться не ставиться на Win7 x64.
BvDV
Можно во время дебагинга просто наводить курсор на переменую в коде, должно значение показываться. Или Вы о другом?
ELEKTROS
BvDV, да ну, никогда такого не было, нужно паузу жать чтоб такое работало, как Вы написали.
ELEKTROS
Установил всё же STMStudio, работает через файл *.elf, но не все переменные передаёт бывает, если используем структуру, то обрезанные переменные (т.е. типа uint8 tmp:1;), вбиваем вручную, в *.elf их нету почему-то.
smk
В кейле и стмстудии все работает. Вот в кокосе видно только после останова. Если в кокосе можно прочитать после останова то и на лету это сделать тоже не должно быть проблемой. Житаг он что при останове что на лету всеравно житаг.
Aaron
объясните фишку - на лету-то зачем значения смотреть? )))
Golikov A.
ну есть у вас какой-то счетчик который как-то считает, и вас интересует что будет в его старших частях. Вы запускаете программу на работу и смотрите как счетчик тикает. Не надо каждый раз останавливаться и проверять значение, оно меняется сразу по ходу дела.

Это конечно такая функция... обычно переменные меняются так быстро что следить за ними в риал тайм трудно. Но можно придумать случай, когда хорошо так поглядеть не останавливая время от времени программу. Как поля меняет интерфейс работы с компьютером, например, то есть программа крутиться, вы команды шлете и смотрите все ли поля адекватно меняются, это удобнее чем ставить и снимать брек поинт.

Как вы сами понимаете это сделано просто тупым опросом. В кокосе переменные обновляются на каждой остановке (это подходит 99% людей), в кейле они сделали просто таймер внутри кейла, который запрашивает переменные периодически (интервал задается в настройках вроде бы). То есть это не технические ограничения, а просто в кокосе ребята не подумали что так может кому то понадобится и все. И нечего убиваться, нет такой функции вроде как и все...

Кстати в иаре был режим непрерывного запуска после брекпоинта. То есть программа доходила до брека, останавливалась, обновляла поля, и запускалась сразу же дальше. Нет ли чего подобного в кокосе, это решило бы данную проблему
ELEKTROS
smk, может и так только я ST-link использую sm.gif.
Aaron, а как по другому то софт отлаживать, объясните, если ПИД регулятор крутиться с частотой 50кГц и надо его настраивать в динамике например, а подключить SCI, CAN, USB нету возможности, да или просто не хочу писать софт на ПК для этой цели?
smk
Тоже ST-Link V2. Так он от этого житагом быть не перестает.
Golikov A.
да о чем вы все?
значение переменных показывает не жетаг а среда. Среда запрашивает их значения и выводит на экран. Какая разница через что? Если сама среда не считает нужным их обновлять периодически, а только по остановке, вы к ней хоть золотой жетаг подключите не увидите переменных, хоть на коленях ползайте...
smk
Цитата(Golikov A. @ Oct 15 2014, 15:53) *
да о чем вы все?
значение переменных показывает не жетаг а среда. Среда запрашивает их значения и выводит на экран. Какая разница через что? Если сама среда не считает нужным их обновлять периодически, а только по остановке, вы к ней хоть золотой жетаг подключите не увидите переменных, хоть на коленях ползайте...

Так вот и вопрос в том как эту среду научить обновлять. Ну хоть раз в секунду. Много раз нужно было отследить работу программы в течение длительного времени. Если видишь изменения в значениях, которые вызывают интерес, то можно вбить новую переменную чтобы понять откуда изменения растут ну и т.п. Особенно актуально когда контроллер работает с аналоговой частью схемы (например меряет-вычисляет что-то по нескольким параметрам).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.