OlegALL 0 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба Добрый вечер. Я не так давно проектирую ПО для микроконтроллеров и столкнулся со сложностью отладки. Думаю, многие с этим сталкивались. Переменные программы и регистры микропроцессора просто так не увидишь, нужны дополнительные средства. Ими могут быть: JTAG отладчик, лишний UART или просто сигнальный светодиод (или несколько). Однако: JTAG отладчик недешёвый + не всё конроллеры его поддерживают, а светодиод даёт информацию об истинности какого-либо условия, что не всегда достаточно, потому что он не позволяет точно оценить переменную. Выводить информацию в UART, наверно, наилучшее решение, но он может быть занят. Как вы обходите эти ограничения и отлаживаете сложные участи ПО? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 7 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба JTAG отладчик недешёвый зато сэкономит времени больше не всё конроллеры его поддерживают правильней сказать - практически все контроллеры поддерживают JTAG Выводить информацию в UART, но он может быть занят. в телевизоре антенна - это один провод. И умудряются передать видео,звук и телетекст Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба JTAG отладчик недешёвый + не всё конроллеры его поддерживаю Как вы обходите эти ограничения и отлаживаете сложные участи ПО? На JTAG-е не экономят, это вы поймете рано или поздно. А вообще есть много дешевых отладочных плат сразу с интегрированным адаптером JTAG-USB. Вы даже не представляете как удобно отлаживать с JTAG особенно через интерфейс SWO. Там и виртуальный UART и виртуальные светодиоды (в смысле битовые сигналы) есть. Особенно интересны такие фичи как: построение графиков по значениям любых переменных в программе в реальном времени, трассировка всех прерываний, перехват обращений на чтение или запись к любой области памяти, отображение дерева вызовов и полный анализ стека независимо где была выполнена остановка, измерение с точностью до тактов времени выполнения любых функций (не нужен больше осциллограф и светодиод) и т.д. и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MKdemiurg 1 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба Есть такое мнение, что из нескольких портов ввода/вывода и уарта можно сделать много уартов )))))))))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 7 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба построение графиков по значениям любых переменных в программе в реальном времени, трассировка всех прерываний это через Trace или SWO ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 7 октября, 2013 Опубликовано 7 октября, 2013 · Жалоба это через Trace или SWO ? Это только через SWO. Про Trace даже молчу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 7 октября, 2013 Опубликовано 7 октября, 2013 (изменено) · Жалоба JTAG отладчик недешёвый + не всё конроллеры его поддерживают, а светодиод даёт информацию Не соглашусь. Если нет JTAG, то какой-нибудь эмулятор точно есть. Какие вас процессоры интересуют? Насколько я знаю самые дорогие были эмуляторы для мотороловских процессоров, но есть немало хороших процессоров, с недорогими эмуляторами. Хотя сам зачастую пользуюсь UART. Кстати еще есть сеть и USB. Изменено 7 октября, 2013 пользователем Tarbal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OlegALL 0 7 октября, 2013 Опубликовано 7 октября, 2013 (изменено) · Жалоба Не соглашусь. Если нет JTAG, то какой-нибудь эмулятор точно есть. Какие вас процессоры интересуют? Насколько я знаю самые дорогие были эмуляторы для мотороловских процессоров, но есть немало хороших процессоров, с недорогими эмуляторами. Хотя сам зачастую пользуюсь UART. Кстати еще есть сеть и USB. Что такое эмулятор? напишите, если несложно. Контроллер АВР 161 - сейчас на нём идёт проект Изменено 7 октября, 2013 пользователем OlegALL Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 8 октября, 2013 Опубликовано 8 октября, 2013 (изменено) · Жалоба Что такое эмулятор? напишите, если несложно. Контроллер АВР 161 - сейчас на нём идёт проект Такой? http://www.atmel.ca/Images/doc1228.pdf Вот в даташите на 3 странице написано: The ATmega161 AVR is supported with a full suite of program and system development tools including: C compilers, macro assemblers, program debugger/simulators, In-Cir- cuit Emulators and evaluation kits На странице 125 Serial Downloading Описано как подключаться для программирования чипа. Эмулятор обычно через то же самое подключается. Вот здесь описан для 162 (JTAG) и для 168 (Debug Wire), но думаю и 161 они поддерживают. Я бы написал Атмелу в техсаппорт интересующие меня вопросы. Или позвонил бы: Atmel Europe Le Krebs 8, Rue Jean-Pierre Timbaud BP 309 78054 St Quentin-en- Yvelines Cedex France Tel: (33) 1-30-60-70-00 Fax: (33) 1-30-60-71-1 http://media.digikey.com/pdf/Data%20Sheets...ect%20Guide.pdf Вот цены: http://www.digikey.ca/product-search/en?x=...atmega+emulator Вот еще: https://www.sparkfun.com/products/retired/11 Я на атмелевсих процессорах лет 15 уже не писал. Есть два форума AVR. Спросите там у тех, кто знает ситуацию. http://electronix.ru/forum/index.php?showforum=10 http://electronix.ru/forum/index.php?showforum=191 Обычно если я с чем-то начинаю работать новым, то сначала встречаюсь с представителями производителя и они рассказывают ситуацию. Что лучше, какие отладочные средства есть. Ну это от фирмы еще зависит. Когда в Мотороле работал Atmel нам в бессрочное пользование давали отладочные средства :) Но если это хобби проект, то позвонить им можно точно. Соврать про фирму и сказать что планируете покупать 100000 в год. Будут радостно помогать. Не знаю если в России есть представители Атмела. Можно начать исследование отсюда: http://www.atmel.com/ru/ru/design-support/ Cкачайте эту программу и посмотрите если она поддерживает ATmega161. Можно симулятором воспользоваться, но симулятором не так много можно сделать. Потом поискать какие устройства надо подключить для вашего процессора. Скорее всего что-то из вышеперечисленного. http://www.atmel.com/tools/ATMELSTUDIO.aspx Вот что они декларируют: http://www.atmel.com/microsite/atmel_studi...simulation.aspx Проверьте, что вам подходит и покупайте. Если вы начианающий, то оно вам очень много времени сохранит. Без опыта принтами не так легко пользоваться. А прерывания отлаживать и не получится. Изменено 8 октября, 2013 пользователем Tarbal Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ARV 1 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба если речь идет об отладке "больших МК" (типа ARM), то, пожалуй, альтернативы JTAG или там чего-то вроде SWD просто нет. но если вы начинающий и пользуетесь "маленькими МК" (восьмибитными типа AVR, MCS51 или PIC), то самое простое и весьма надежное средство отладки ваших программ - это ISIS PROTEUS VSM. по этим ключевым словам легко найдете все необходимое в сети. при помощи этого симулятора вы легко отладите свою программу (и даже схемную обвязку МК, а при необходимости - разведете плату) не прибегая к паяльнику, блоку питания и всяким покупным JTAG-отладчикам вообще! не слушайте тех, кто будет вам рассказывать про разницу между поведением реальной платы и ее виртуального аналога! к тому моменту, когда вы заматереете настолько, что сумеете эту разницу почувствовать, вам эта самая разница уже будет совсем не опасна, т.к. опыт своё возьмет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба А пока у Вас нет опыта приготовьтесь к созданию тем типа : Почему у меня в шпроте все работает , а в железе нет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Что такое эмулятор? Внутрисхемный эмулятор - устройство, которое полностью имитирует отлаживаемый процессор, а вдобавок к этому предоставляет средства доступа к внутренним ресурсам процессора и имеет дополнительные средства отладки. Кроме эмуляторов, есть всевозможные симуляторы, которые тоже обеспечивают отладку. Принципиальное отличие симуляторов от эмуляторов состоит в том, что симулятор не полностью имитирует отлаживаемый процессор: то ли забирает себе часть ресурсов, то ли работает не в реальном масштабе времени, и т.п. Большинство современных средств отладки микроконтроллеров строго говоря являются симуляторами высокого качества, т.е. максимально близкими по своим характеристикам к настоящим эмуляторам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Почему у меня в шпроте все работает , а в железе нет А у меня наоборот : живьем все работает, а в Протеусе -нет. :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба Как вы обходите эти ограничения и отлаживаете сложные участи ПО? Недавно отлаживал ATmega32HVB (это специальный МК для зарядки аккумуляторов), там нет последовательного порта. Так вот, отладчик (аппаратный) - здорово помог. 32-битные армы (Cortex-M3, Cortex-M0) - наоборот удобнее отлаживать при помощи printf'а. J-link там у меня как-то не прижился( А вообще отладка - комлексное мероприятие. Тут и отладчик иногда нужен, и симулятор, и консолька, и светодиод, и осцилл с логическим анализатором не помешают (при отладке различных шин, ШИМов и т.п.). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Электронщик 1 8 октября, 2013 Опубликовано 8 октября, 2013 · Жалоба например...Silab чипы это 51 ядро...отладчик стоит 50 баксов...любо дорого работать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться