реклама на сайте
подробности

 
 
> Симуляция в IAR, C-spy debugger
DimSun
сообщение May 1 2005, 18:29
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 26-10-04
Из: Москва
Пользователь №: 988



Что-то я не пойму, симулятор в IAR симулирует обвязку или нет. Пробую симулировать таймер. Запускаю, а он стоит. В студии все идет ОК.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aal
сообщение May 2 2005, 05:09
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916



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


--------------------
_____________________________________
Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
Go to the top of the page
 
+Quote Post
DimSun
сообщение May 2 2005, 07:26
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 72
Регистрация: 26-10-04
Из: Москва
Пользователь №: 988



Цитата(aal @ May 2 2005, 08:09)
В иаре хорошо циклы программы проверять, код оптимизировать, проверять правильность работы своих выкрутасов, но с переферией он не дружит....
*


Что вообще? Тогда зачем он нужен?
Go to the top of the page
 
+Quote Post
dxp
сообщение May 3 2005, 06:41
Сообщение #4


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(DimSun @ May 2 2005, 13:26)
Цитата(aal @ May 2 2005, 08:09)
В иаре хорошо циклы программы проверять, код оптимизировать, проверять правильность работы своих выкрутасов, но с переферией он не дружит....
*


Что вообще? Тогда зачем он нужен?
*


В IAR'е есть специальные макросы для эмуляции периферийных устройств. Т.е. не для собственно симуляции того, как, например, таймерный регистр щелкает, а для эмуляции результатов работы периферийных устройств. По опыту скажу, что на деле это ценнее и лучше, нежели простая симуляция периферии, которая только и годится для того, чтобы проверить, а запустился ли таймер.

Поясню. Предположим, я отлаживаю протокол обмена через UART, где летают пакеты - загловок, тело, трейлер (контрольная сумма). Вот мне и надо логику отладить. Как это с помощью симулятора сделать? Правильно - написать ему стимул на вход (для UART'а), который изображает всю диаграмму! Не такое простое дело, между прочим. И на деле этого-то мне тут и не надо - мне ведь не правильность работы UART'а надо проверять, а логику работы своего принимающего кода. Поэтому меня бы просто устроила возможность подавать принятые байты на обработчик прерывания. Вот именно это и дает сделать С-SPY: пишу скриптик, где задаю прерывание (с определенным периодом, задержкой и т.д.), задаю immediate breakpoint на обращение к регистру данных UART'а, при котором будет вызван макрос (мною же написанный), где в этот регистр (еще до чтения его процессором) будет подсунуто значение из файла.

Таким образом, просто составляю текстовый файл, где просто прописываю байты на прием, и указываю этот файл как входной для симулятора. Все.

Та же история с АЦП. Подаю файл с данными и смотрю, как АЦП "оцифровывает" "данные".

Очень просто можно смоделировать, например, ситуацию, когда в момент выполнения обработчика прерываний приходит другое прерывание (например, чтобы отследить использование стека в прерываниях) - достаточно задать нужные задержки возникновения прерываний.

В общем, макросы эти - очень мощное и гибкое средство моделирования! А для чего еще симулятор нужен?! Именно для моделирования. А уж таймер правильно запустить можно и без симулятора.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 05:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016