Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Ответ: Каким образом комп узнает что при работе отлаживаемого проца во внутрисхемном эмуляторе было это событие?
Отправлено
Вопрос по существу
04 октября 2007 г. 17:09
В ответ на:
"Да, все эти условные точки останова возможны при внутрисхемной отладке"...Так...А вот с этого места поподробней пожалуйста....Мы запускаем MCU во внутрисхемном эмуляторе...Через некоторое время останавливаем....И каким образом мы узнаем, что например переменная X была уничтожена командой из точки с адресом $FE12 программы....А?
отправлено <font color=gray>Вопрос по существу</font> 04 октября 2007 г. 17:08
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: Только если в РЕАЛТАЙМЕ проц будет передавать в компьютер каждую выполненную команду...Ну а фули толку компьютеру от этих команд если на нём не установлена программа, их понимающая и модифицирующая модель проца в компьютере в соответствии с этими командами, то бишь симулятор
—
Вопрос по существу
(04.10.2007 17:12:40
217.118.66.21
,
пустое
)
Ответ: И даже если передавать каждую выпоненную команду и то это ещё не даст полной картины работы отлаживаемого процессора увидеть в компе...Так ещё зависит от внешних сигналов
—
Вопрос по существу
(04.10.2007 17:23:31
217.118.66.38
,
пустое
)
В общем сначала изучите возможности, предоставляемые внутрисхемной отладкой в современных процессорах и современных средах разработки, затем дискуссию продолжим. На лицо полное незнание принципов современного построения этих систем. На этом я заканчиваю.
—
SM
(04.10.2007 17:27:37
85.21.237.237
,
пустое
)
Ответ: Понятно...Слив засчитан...Когда у одного из спорящих нет больше аргументов , чтобы доказать свою правоту у него остаётся один аргумент "я умный, а ты дурак"...Жаль...(:-((((
—
Вопрос по существу
(04.10.2007 17:47:48
217.118.66.50
,
пустое
)
Спорить с тем, кто знает возможности симулятора, а про эмуляторы городит что-то из своего воображения и далекое от реальности бесперспективно.
—
SM
(04.10.2007 17:51:2
85.21.237.237
,
пустое
)
Ответ: А чё говорить, ведь софт, управляющий внутрисхемным эмулятором , по сути и есть симулятор, т.к. выполняет его функции...С единственным отличием: команды выполняются самим отлаживаемым процессором , а в истинных симуляторах кросс-процессором....Т.е. отличаются только нижним слоем...А верхние слои одни и теже
—
Вопрос по существу
(04.10.2007 18:05:36
217.118.66.56
,
пустое
)
Да, все именно так. И плюс внутрисхемной отладки - это реальная жизнь устройства. На сегодняшний день не существует моделей транзисторов, диодов и т.п. элементов, учитывающих все физические эффекты. Моделирование аналога, а особенно сложного - вещь очень приблизительная. А при внутрисхемной отладке - все точно как в аптеке.
—
SM
(04.10.2007 18:21:36
85.21.237.237
,
пустое
)
Ответ: Да..За одним исключением, что внутрисхемная отладка - ближе не к отладке, а просто к тестовому прогону всей программы, чтобы убедиться что программа работает.....
—
Вопрос по существу
(04.10.2007 18:27:44
217.118.66.56
,
пустое
)
Это Вы так думаете, пока не изучили истинных возможностей внутрисхемной эмуляции и оперируете своими догадками на пустом месте.
—
SM
(04.10.2007 18:32:44
85.21.237.237
,
пустое
)
Есть ещё один нюанс, который не буду повторять =====>>>>>
—
Вопрос по существу
(04.10.2007 18:37:10
217.118.66.56
,
пустое
,
ссылка
)
Какое ограниченное мышление. Для обнаружения удаления переменной достаточно воткнуть останов в процедуре удаления, и при каждом удалении проверять, что удалили. А еще существуют аппаратные точки останова навроде "по доступу к переменной по заданному адресу", по занесению в регистр числа, и т.п. Еще есть всякие traceback-возможности, чтобы выяснить, какие события предшествовали останову, и многое, многое другое.
—
SM
(04.10.2007 17:21:56
85.21.237.237
,
пустое
)
"есть всякие traceback-возможности" говорите? А говорили, что знакомы с теорией автоматов состояний и со свойствами операций(:-(((((.....А то бы знали, что AB не всегда равно BA...Например была команда "загрузить $43 в регистр A"...И как вы выполните эту команду назад? Как восстановите содержимое регистра до выполнения этой команды..Прежде чем писать надо думать
—
Вопрос по существу
(04.10.2007 17:42:37
217.118.66.50
,
пустое
)
Надо знать, что предоставляет та или иная возможность. А не представлять это как-то по своему в своем больном воображении. Traceback предназначен отнюдь не для этого. А для чего - изучайте в литературе.
—
SM
(04.10.2007 17:49:46
85.21.237.237
,
пустое
)
Ответил выше поторяться не буду =====>>>>>
—
Вопрос по существу
(04.10.2007 18:21:3
217.118.66.56
,
пустое
,
ссылка
)
"воткнуть останов в процедуре удаления" А вот с этого места поподробней: куда воткнуть в саму программу? А кто-то тут говорил "никакого отладочного кода добавлять в программу не потребуется".......И насчёт "многого, многого другого" поподробней пжлста...Просетите меня тёмного неуча
—
Вопрос по существу
(04.10.2007 17:29:36
217.118.66.41
,
пустое
)
Воткнуть точку останова это означает (+)
—
SM
(04.10.2007 17:34:57
85.21.237.237
, 596 байт)
Ответ: Ну насчёт реальтайма сомневаюсь, что можно успеть слить из MCU в отладчик хотя бы несколько байт за один такт процессора...Если же придётся останавливать проц более чем на один такт, то тогда какой же в пизду жто реальтайм? Внешние аналоговые схемы ждать не будут...И фаза синуса сместиться..И ещё много чего измениться во внешней обстановке пока отладчик будет сливать и декодировать слитую инфу
—
Вопрос по существу
(04.10.2007 17:51:18
217.118.66.50
,
пустое
)
Это все зависит от конкретных условий. В подавляющем большинстве случаев в программе есть запас хотя бы на несколько тактов, этого хватит. А если загруженность процессора 100% и вставление одного NOPа в программу срывает реалтайм, то да, и эмуляционный останов сорвет реалтайм. Это означает лишь то, что либо программа плохо написана, либо процессор выбран слабоват, с нулевым запасом.
—
SM
(04.10.2007 17:58:30
85.21.237.237
,
пустое
)
"В подавляющем большинстве случаев в программе есть запас хотя бы на несколько тактов, этого хватит."...А если я в программном цикле жду импульс "шириной" в 1 мкС? Остановив процессор Житагом я его профукаю
—
Вопрос по существу
(04.10.2007 18:12:3
217.118.66.56
,
пустое
)
"В подавляющем большинстве случаев в программе есть запас хотя бы на несколько тактов, этого хватит"...А почему Вы считаете что для слива и анализа инфы во время останова хватит и нескольких тактов ? А если условие сложное или трудоёмкое? ..Например "остановиться если 256-ти байтный дамп памяти заполнен нулями"
—
Вопрос по существу
(04.10.2007 18:08:48
217.118.66.56
,
пустое
)
Потому, что знаю это. И такие эмуляторы, которые это могут сделать с такими скоростями, существуют, правда стоят не дешево. Более того, даже есть возможность прокачать в реалтайме видопоток TV-качества через эмуляционный интерфейс, И еще много-много разных интересных возможностей. В том числе и таких, о которых с симуляторами мечтать не приходится. И вообще, мне надоел этот ликбез по современному состоянию дел во внутрисхемной эмуляции.
—
SM
(04.10.2007 18:19:10
85.21.237.237
,
пустое
)
Ответ: А где гарантия , что "И такие эмуляторы" точно эмулируют работу эмулируемого процессора? Вдруг разработчики ошиблись в схеме, или программе эммулятора? Или наконец допустили ошибку при построении самой модели эмулирумого процессора? И тогда смысл их юзать если там могут быть теже баги (а то и похлещще) как в симуляторах..А?
—
Вопрос по существу
(04.10.2007 19:34:37
217.118.66.56
,
пустое
)
Смысл в том, что эмулятор не эмулирует работу процессора, а дает доступ снаружи к внутренним ресурсам процессора. И у эмулятора программы нет. И модели эмулируемого процессора нет. Есть живое реальное ядро, которое исполняет код, и есть внешняя схема, дающая доступ к нему.
—
SM
(04.10.2007 19:42:49
85.21.237.237
,
пустое
)
Ответ: "И у эмулятора программы нет"....Как это нет...Ведь эмулятор почти всегда делаеься на базе какого то процессора, на порядок более мощного чем тот, который будет эмуллироваться схемой..А раз есть процессор - значит есть программа..А раз есть программа, то в ней могут быть глюки...P.S. Странный Вы..Вроде такой умный, а ткаких простых вещей не знаете
—
Вопрос по существу
(04.10.2007 20:08:5
217.118.66.26
,
пустое
)
А так, нет. Например базовая версия эмулятора XDS510 построена на 74ACT8990, который не является процессором. А wiggler для ARM это вообще тупой буфер. Задача эмулятора просто прогнать поток данных, не обрабатывая его.
—
SM
(04.10.2007 22:19:53
80.92.255.53
,
пустое
)
Ответ: А если мне нужно узнать в каких точках программы у меня записывается в регистр R17 значение $56 а этот регистр я заюзал как аккумулятор и обращение к нему происходит чуть ли не в каждой 5-й точке программы ..То что? Мне делать 5000 точек останова в которых отладчик будет останавливать проц и сливать из него инфу..Какой же это реальтайм..А если программа самомодифицирующася (с помощью Бутлодыря)?
—
Вопрос по существу
(04.10.2007 17:58:13
217.118.66.56
,
пустое
)
Мля, да почитайте наконец про технологии внутрисхемной эмуляции. Для этого надо поставить аппаратную точку останова по занесению в регистр значения. И как только оно там появится, проц остановится и уведомит отладчик о событии.
—
SM
(04.10.2007 18:00:29
85.21.237.237
,
пустое
)
ЧТО ТО МЫ С ВАМИ ЗАПУТАЛИСЬ В ВОПРОСЕ О ЧЁМ МЫ СПОРИМ......Вы имеете ввиду что схемный эмулятор, т.е. девайс собранный на других процессорах и других деталях, но работающий также как и эмулируемый им процессор...Или Вы имеете ввиду КИТ-плату куда впендюривается сам исследуемый проц и к этой плате подключается JTAG...А?
—
Вопрос по существу
(04.10.2007 18:18:38
217.118.66.56
,
пустое
)
Я имею в виду соединение прототипа (макета) устройства, выполненного точно на тех же деталях, что и потом серийные изделия, через отладочный интерфейс (например JTAG) с компьютером, на котором запущена среда разработки. При условии, что данный процессор имеет подсистему внутрисхемной отладки, выполненную на современном уровне. Никаких китов я не имею в виду, как и не имею в виду аналогичных девайсов, собранных из другой комплектухи.
—
SM
(04.10.2007 18:25:18
85.21.237.237
,
пустое
)
То что Вы скромно назвали "среда разработки" как раз и является симулятором с названием AVR Studio
—
Вопрос по существу
(04.10.2007 19:43:24
217.118.66.11
,
пустое
)
Да что Вы к AVR прицепились? Это простой и тупой процессорчик, для которого вообще все в голове отладить можно, без симуляторов и эмуляторов. Возьмите для примера среду разработки Code Composer Studio или Visual DSP++
—
SM
(04.10.2007 19:46:25
85.21.237.237
,
пустое
)
"Да что Вы к AVR прицепились? " А Вы название темы прочитали? Напомню: "Proteus for AVR"....P.S. На бужущее прежде чем отвечать прочитайте внимательно название темы
—
Вопрос по существу
(04.10.2007 20:10:3
217.118.66.26
,
пустое
)
В них, кстати, есть на выбор - симуляторы и эмуляторы. И можно сравнить достоинства и недостатки тех и этих.
—
SM
(04.10.2007 19:47:37
85.21.237.237
,
пустое
)
Ответ: У них, кстати, (у Atmel-а) ихняя AVR Studio гибрид симулятора с оболочкой эмулятора
—
Вопрос по существу
(04.10.2007 20:11:39
217.118.66.26
,
пустое
)
Ответ: Просто можно выбирать кто будет выполнять командный поток: сам отлаживаемый проц либо кросспроцессор (пень на компе)..И всё....Не более того...Оболочка эмулятора не более чем часть симулятора
—
Вопрос по существу
(04.10.2007 20:13:15
217.118.66.26
,
пустое
)
Ответ: И выбор где хранить контекст в самом процессоре или в компе...
—
Вопрос по существу
(04.10.2007 20:14:3
217.118.66.26
,
пустое
)
Ответ: Ээээээ...Тогда Вы гоните...С АТmega8 на моём девайсе, работающей на тактовой в 4 МГц я в реалтайме т.е. КАЖДЫЙ ТАКТ ( каждые 0.25мкС) НЕ ОСТАНАВЛИВАЯ процессор в ATmega смогу получать на компьютере инфу о всех изменениях в микроконтроллере? Точно гон...Причём бессовестный
—
Вопрос по существу
(04.10.2007 19:41:58
217.118.66.11
,
пустое
)
Ответ: Там же последовательный интерфейс...Передача только одного байта займёт 8 клоков, то бишь 2 мкС...А если понадобиться считать хотя бы 8 - уже 16 мкС....Останов процессора на 16 мкС? А каком НАХУЙ реальтайме может идти тогда речь?
—
Вопрос по существу
(04.10.2007 19:49:30
217.118.66.39
,
пустое
)
Где "там"? В убогом атмеле?
—
SM
(04.10.2007 19:50:11
85.21.237.237
,
пустое
)
Ответ: Ну вот...(-(((( Дискуссия медленно но верно уходит от темы ветки "Proteus for AVR".....Слово AVR не заметили?
—
Вопрос по существу
(04.10.2007 20:17:22
217.118.66.26
,
пустое
)
Я все таки надеюсь, что уровень внутресхемной эмуляции со временем достигнет нормального и для AVR. В контексте развития.
—
SM
(04.10.2007 22:17:43
80.92.255.53
,
пустое
)
Ответ: Многие эмбеддеры (70% и более) (почитайте конфу если мне не верите) уже сейчас юсают AVR и они не могут ждать того времени, когда "уровень внутресхемной эмуляции со временем достигнет нормального и для AVR"...Им то Вы что предлагаете делать????
—
а?
(05.10.2007 16:58:20
217.118.66.16
,
пустое
)
По-старинке отлаживаться. С теми возможностями, которые есть сейчас. Но не тратить свое время на симуляторы.
—
SM
(05.10.2007 17:10:58
85.21.237.237
,
пустое
)
Повторю и тут. По всей видимости ATMEGA не относится к процессорам с развитой системой внутрисхемной эмуляции.
—
SM
(04.10.2007 19:44:49
85.21.237.237
,
пустое
)
А если программа самомодифицирующася (с помощью Бутлодыря)? Там уже нельзя узнать адрес команды, в которой будет обращение к данному регистру...Как в этом случае вы введёте адреса точек останнова для Житага?
—
Вопрос по существу
(04.10.2007 17:59:56
217.118.66.56
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 34:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru