Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Для SM: Ваше сообщение в ссылке, мой ответ в "картинке"
Отправлено
а?
05 октября 2007 г. 16:55
http://www.telesys.ru/wwwboards/mcontrol/1808/messages/173215.shtml
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: По старинке говорите? Это как ? Делать останов процессора на 10 и более мкС чуть ли не каждые несколько команд ?(в сложных случаях, в простых (простейших) случаях может оказаться достаточным остановить процессор в 3-4 точках)..Или добавлять в текст программы отладочный код? Как по старинке? Приведу конкретную задачу..Мне нужно определить в какой части программы я записываю в R16 число $43...MCU = ATmega8...Как с JTAG найти эту точку проги
—
а?
(05.10.2007 18:12:22
217.118.66.42
, 1611 байт)
Ответ: Уточняю решить эту задачу с помощью JTAGICE и AVR Studio
—
а?
(05.10.2007 18:13:11
217.118.66.42
,
пустое
)
По старинке - это просто посмотреть на код, хорошо подумать, еще раз посмотреть, еще подумать и устранить глюк. А жтаг использовать только для загрузки софта.
—
SM
(05.10.2007 18:28:11
85.21.237.237
,
пустое
)
Глюк может приходить снаружи
—
3m
(05.10.2007 21:00:44
85.140.127.126
, 255 байт)
СЛУШАЙТЕ ЛЮДИ!!! ЭТО СКАЗАЛ САМ "sm":" А жтаг использовать только для загрузки софта"....Так что тот, кто юзает JTAG с AVR-овскими микроконтролерами ТОТ му......Ладно...Не буду произносить это слово
—
а?
(05.10.2007 19:43:7
217.118.66.42
,
пустое
)
Вот обязательно все извратить надо. Я всего лишь имею в виду, что с такими простыми процессорами, как AVR, вообще ни эмуляторы, ни симуляторы почти не нужны.
—
SM
(05.10.2007 19:45:6
85.21.237.237
,
пустое
)
Ответ: Ну а я про что? Вот и пусть эти Ваши слова прочитают участники , зающие отладку в железе через JTAG и AVR Studio
—
а?
(05.10.2007 19:52:30
217.118.66.42
,
пустое
)
И пускай, я нигде их плохим словом не обозвал. Я только утверждал, и буду утверждать - что симуляторы для обучения, а для работы - голова и если уже она не помогает :), то jtag-отладка.
—
SM
(05.10.2007 19:57:14
85.21.237.237
,
пустое
)
Ответ: САМИ СЕБЕ ПРОТИВОРЕЧИТЕ: ВЫ ЖЕ НАПИСАЛИ ВЫШЕ: "А жтаг использовать только для загрузки софта."................................а ТЕПЕРЬ ВЫ ПИШИТЕ: "то jtag-отладка".......вЫ УЖ ОПРЕДЕЛИТЕСЬ
—
а?
(05.10.2007 21:27:20
217.118.66.2
,
пустое
)
"юзает JTAG с AVR-овскими микроконтролерами " имеется ввиду ДЛЯ ВНУТРИСХЕМНОЙ ОТЛАДКИ
—
а?
(05.10.2007 19:44:10
217.118.66.42
,
пустое
)
"А жтаг использовать только для загрузки софта"...Нафуя? Если для этого есть ISP? Там и проводочков поменьше и пинов контроллера меньше занимается
—
а?
(05.10.2007 18:42:38
217.118.66.42
,
пустое
)
Ну это где есть, где нет. Не суть важно какой именно интерфейс.
—
SM
(05.10.2007 18:43:56
85.21.237.237
,
пустое
)
Ответ: Как раз важно...Нафуя для целей заливки софта юзать интерфейс занимающий 6-ног процессора если есть интерфейс , занимающий всего 4 ноги? У мальеньких кантролиров каждая "нога" на счету
—
а?
(05.10.2007 18:55:12
217.118.66.42
,
пустое
)
Да как раз не важно. Какой интерфейс развели, через тот и заливать.
—
SM
(05.10.2007 18:56:56
85.21.237.237
,
пустое
)
(+) --->>>>
—
а?
(05.10.2007 16:58:40
217.118.66.16
,
пустое
,
ссылка
)
Доктор, пиво любишь?
—
БУБУ
(05.10.2007 17:17:59
195.131.149.120
,
пустое
,
ссылка
)
Ответ: Блин......Такое ощущение, что большая часть читателей "Ленты-ру" это участники конфы Телесистем (слишком уж часто на конфе фигурируют ссылки на сайт "лента-ру")....Акуеть можно....Мой моск отказывается это переваривать
—
а?
(05.10.2007 17:32:25
217.118.66.42
,
пустое
)
а у тебя уже нюх на доктора :)
—
ничего не знаю
(05.10.2007 17:27:2
78.106.123.18
,
пустое
)
ты видмо не в курсе, его величество не любит когда его носом тычут :)
—
ничего не знаю
(05.10.2007 17:17:25
78.106.123.18
,
пустое
)
Не ругайся неприличными словами.
—
SM
(05.10.2007 17:18:36
85.21.237.237
,
пустое
)
Да блин смотрю, я ту страницу, смотрю, смотрю!!!!
—
SM
(05.10.2007 17:12:39
85.236.17.66
,
пустое
)
Ответ: И ? Убедил я Вас, что так называемая "отладка в реальном железе" чистой воды абстракция при использования навороченной программной оболочки (симулятора, эмулятора, "среды" и т.п.) обработки данных, полученных от эмулятора...А?
—
а?
(05.10.2007 17:27:16
217.118.66.42
,
пустое
)
нет. как минимум так как сами разработчики чипа не знают всех глюков и подводных камней своих микросхем, поэтому гарантированно правильного симулятора (даже при 100% гарантии отсутсвия софтовых ошибок) быть не может. А эмулятор учитывает все эти глюки, так как всего лишь дает доступ из компа в недра камня.
—
SM
(05.10.2007 17:31:16
85.21.237.237
,
пустое
)
Ответ: А "оболочка"? Т.е. программа , которая декодирует инфу, полученную от отлаживаемого проца по отладочному интерфейсу {JTAG}...Которая преобразует "СЫРУЮ" инфу в форму предстваления, понятную человеку? Она ведь тоже юзает модель проца..А если сделали ошибку при построении модели? Или в коде самой "оболочки"?
—
а?
(05.10.2007 17:49:16
217.118.66.42
,
пустое
)
Там модели проца нет. Там есть всего лишь символическое описание того, по каким адресам какие регистры расположены, ну и дизассемблер. И ошибка, допущенная там, приведет к искажению отображения информации о состоянии, но сама программа при этом будет выполнена корректно. В отличие от симулятора, глюк в котором приведет к некорректному выполнению программы.
—
SM
(05.10.2007 17:53:11
85.21.237.237
,
пустое
)
"ну и дизассемблер".....Нифига....А если Вы отлаживаете прогу на С++ ? То это "оболочка" должна уметь "выразить" полученную от эмулятора инфу "в терминах C++".....А это далеко не просто Дизассемблер
—
а?
(05.10.2007 18:25:45
217.118.66.42
,
пустое
)
Доктор, угомонитесь!
—
3m
(05.10.2007 21:04:30
85.140.127.126
, 223 байт)
Опять азов не знаем? Или прикидываемся идиотом? Для этого в загружаемом файле есть таблица соответсвия строк исходного текста адресам памяти и таблица символов. Как только произошел останов, по адресу счетчика команд показывается строка исходника.
—
SM
(05.10.2007 18:29:56
85.21.237.237
,
пустое
)
Ответ: Вы рассматриваете простейшие случаи...Могу Вам привести примеры, когда Ваша теория работы "оболочки" отладчика не работает...Да Вы и сами сможете придумать такие примеры если подумаете хорошенько
—
а?
(05.10.2007 18:49:36
217.118.66.42
,
пустое
)
Это не моя теория. Так работают все существующие на сегодня отладчики, в том числе MSVC, GDB, soft-ice, CCS и прочие.
—
SM
(05.10.2007 18:54:2
85.21.237.237
,
пустое
)
И в симуляторе ЭТОТ ЖЕ механизм задействован.
—
SM
(05.10.2007 18:30:32
85.21.237.237
,
пустое
)
"И ошибка, допущенная там, приведет к искажению отображения информации о состоянии"...Нифига себе..А человек с чем работает? Разве не с отображением? И ему не пох...где возникла ошибка, если в конечном итоге то, что он видит на своём мониторе не соответсвует тому, что происходило в реале?
—
а?
(05.10.2007 18:22:23
217.118.66.42
,
пустое
)
Не пох, так как этот глюк отображения останется и в том случае, если к этой же среде вместо эмулятора подключить симулятор. Но если подключить симулятор, то он внесет НОВЫХ глюков в плюс к имеющимся в среде.
—
SM
(05.10.2007 18:24:20
85.21.237.237
,
пустое
)
И дважды не пох, так как глюк отображения никак не повлияет на дальнейшее выполнение программы. А глюк выполнения повлияет.
—
SM
(05.10.2007 18:24:57
85.21.237.237
,
пустое
)
Ответ: Но глюк отображения приведёт к тому, что ты получишь НЕВЕРНОЕ ПРЕДСТАВЛЕНИЕ о работе программы..А именно..Будешь искать ошибки где их нет или, наоборот, будешь считать, что прога у тебя работает как надо, хотя на самом-то деле она работает по-другому
—
а?
(05.10.2007 18:31:10
217.118.66.42
,
пустое
)
Это понятно, но разобравшись, что тут виновата среда, а не отлаживаемый софт, можно продолжить отладку дальше. А если глюк исполнения программы - то увы, приехали.
—
SM
(05.10.2007 18:32:49
85.21.237.237
,
пустое
)
Ответ: Тоже самое и в симуляторе...Например я узнал, что AVR Studio не корректно работает с таймерами в Fast PWM режимах (счётчик продлжает считать а не сбрасывается при достижения значения, записанного в регистре сравнения)..Яэто узнал и продолжил отладку в симуляторе дальше
—
а?
(05.10.2007 18:46:48
217.118.66.42
,
пустое
)
Ага, Вы узнали, и что сделали - скооректировали программу под такое некорректное поведение? А если допустим глюк в исполнении какой-либо инструкции?
—
SM
(05.10.2007 18:49:24
85.21.237.237
,
пустое
)
"А если допустим глюк в исполнении какой-либо инструкции?" Да Вы чего? (%-((....Уж что, что а цифровое ядро настолько проверено и перепроверено...Там всё настолько прозрачно, что даже я писал свой "выполнитель команд"...А потом если юзать более или менее "старые" и широкораспространённые симуляторы, то всех их баги рано или поздно становятся известными и фиксятся (юзеров то много - поэтому эта инфа очень быстро распространяется в сети)
—
а?
(05.10.2007 19:00:37
217.118.66.42
,
пустое
)
Вы на вопрос не ответили. После обнаружения глюка в симуляции таймера - действия - подправить программу под особенность симулятора?
—
SM
(05.10.2007 19:05:44
85.21.237.237
,
пустое
)
Ответ: Я выкрутился так: зашил программу в девайс и убедился, что Fast PWM реально работает и дальше при отладке в симуляторе больше не обращал внимание на то, что "показвает" счётный регистр таймера в Fast PWM Mode....Хотя конечно приходиться иногда извращаться когда юзаются прерывания от таймера в этом режиме - приходиться вручную обнулять и устанавливать Request на прерывание
—
а?
(05.10.2007 19:13:31
217.118.66.42
,
пустое
)
Ответ: В любом случае при отладке программы я в 90% работы по отладке выполнял в симуляторе и только 10% (а то и меньше) - в реальном железе (только в крайних случаях, например при глюке симулятора)
—
а?
(05.10.2007 19:16:27
217.118.66.42
,
пустое
)
Ну а я 99% отладки выполняю в своей голове, оставшийся 1% в железе через эмулятор. А симулятор нужен только в том случае, если реальный процессор нет возможности достать (например его образец еще не испекли, или срок поставки несколько месяцев)
—
SM
(05.10.2007 19:22:34
85.21.237.237
,
пустое
)
Ответ: "В голове" это не отладка....Т.к. отладка подразумевает получение хоть каких-то результатов работы программы и их АНАЛИЗ....А как можно получить результаты работы программы не запустив её не в симуляторе не в железе....То что Вы назвали ("в голове")называется проектирование программы и это фаза предшествует отладке
—
а?
(05.10.2007 19:31:54
217.118.66.42
,
пустое
)
Нет, ни разу не угадали. Я мысленно исполняю код :) и ищу в нем ошибку. Очень эффективно кстати.
—
SM
(05.10.2007 19:39:2
85.21.237.237
,
пустое
)
Ответ: Крута...Самый лучший симулятор - это моск программиста
—
а?
(05.10.2007 19:53:42
217.118.66.42
,
пустое
)
Да. И такой симулятор юзать очень полезно и эффективно.
—
SM
(05.10.2007 19:58:3
85.21.237.237
,
пустое
)
Даже, еще точнее, единственный правильный симулятор получится, если взять нетлист процессора (но кто его даст?) И подключить в mixed-mode моделировщик типа Mentor AMS. И я НЕ ПРОТИВ такого уровня симуляции. Даже ЗА!.
—
SM
(05.10.2007 17:35:53
85.21.237.237
,
пустое
)
Ответ: И ты думаешь, что в таких МОНСТРОПОДОБНЫХ программах симуляции "типа Mentor AMS" не может быть глюков? Наверняка там больше глюков, чем в том же Proteus...Поскольку Proteus меньше и проще
—
а?
(05.10.2007 18:33:55
217.118.66.42
,
пустое
)
Потому что они сертифицированы на signoff при производстве чипов. Т.е. дается гарантия на то, что результат симуляции совпадет с последующим результатом на кристалле +- технологический разброс
—
SM
(05.10.2007 18:41:32
85.21.237.237
,
пустое
)
И что, они готовы нести материальную ответственность в случае задокументированного несоответствия чипа и модели ?
—
3m
(05.10.2007 21:11:30
85.140.127.126
,
пустое
)
Ответ: А если ещё при "отладке в железе" юзается не сам проц, а его схемный эмулятор (и не факт, что его создатели не обладали кривыми руками) то "железячные" глюки схемного эмулятора умножаются на глюки "программы-оболочки".....И что мы получаем в результате? То, что особого смысла юзать "отладку в реальном железе" по сравнению с юзаньем чиста программного симулятора НЕТ
—
а?
(05.10.2007 17:30:5
217.118.66.42
,
пустое
)
А что такое "его схемный эмулятор" ? Речь идет исключительно о внутрисхемной эмуляции через доступ в процессор по отладочному интерфейсу. И ни о чем другом.
—
SM
(05.10.2007 17:32:37
85.21.237.237
,
пустое
)
Схемный эпилятор. Причесывать слепыши и все такое :)
—
Quasy
(05.10.2007 17:34:19
80.243.9.34
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru