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

 
 
 
Reply to this topicStart new topic
> Вопрос по Keil uVision
lexa12
сообщение Apr 12 2012, 16:49
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 6-10-10
Из: Санкт-Петербург
Пользователь №: 59 971



Можно ли в кейле создавать тест бенчи, т.е. тестовые программы?
Мне нужно протестировать проект, а в нем на один порт выводится некий код, а с другого считывается реакция системы на первый код.
Таких битовых "векторов" довольно много и набивать вручную их в окошке отладчика практически не возможно.
Возможно ли этот процесс автоматизировать и как это сделать?
Go to the top of the page
 
+Quote Post
_NB
сообщение Apr 12 2012, 18:44
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 22-06-05
Из: Украина, г.Боярка
Пользователь №: 6 238



Смотрите в сторону AGSI-dll.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Apr 23 2012, 12:39
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Да, там можно создавать кучу внешних событий. В том числе и свои окошки с кнопочками, по нажатию на которые выполняются написанные функции. Давно не копался, но там очень много возможностей. По-моему, минимальный квант времени - 1 такт указанной в Target частоты кварца
Go to the top of the page
 
+Quote Post
редактор
сообщение Apr 24 2012, 08:10
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Есть еще DebugFunctions. Из оболочки отладчика выполняется


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
Kolia
сообщение Apr 25 2012, 09:56
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 188
Регистрация: 28-09-06
Из: Minsk
Пользователь №: 20 762



Цитата(lexa12 @ Apr 12 2012, 19:49) *
Мне нужно протестировать проект, а в нем на один порт выводится некий код, а с другого считывается реакция системы на первый код.

Чтоб не заморачиваться проще заменить порты на указатели таблицы со всеми возможными значениями и прогнать программу в симуляторе...
Go to the top of the page
 
+Quote Post
uriy
сообщение Apr 27 2012, 09:52
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Спрошу тут же чтобы не плодить темы.
Можно ли в режиме дебаггера загонять данные из определенного регистра в файл на компе. Нужно сливать в файл отсчеты с АЦП для анализа их на компе. Такая возможность есть в VisualDSP, хотел бы тут тоже самое.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 27 2012, 17:26
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(uriy @ Apr 27 2012, 13:52) *
Можно ли в режиме дебаггера загонять данные из определенного регистра в файл на компе.

Да, можно.
1. Menu->Debug->Breakpoint
2. В "Expression" задаете место в программе, при выполнении которого, Вам требуется вывод в файл
3. В "Command" задаете вывод нужного регистра. Например: printf("%d\n", r0);
4. Нажимаете "Define"
5. Перенаправляете вывод лога в файл: в окне команд отладчика выдаете команду, например: LOG >c:\temp\log.txt
6. Запускаем выполнение программы: Menu->Debug->Run/Step/Step Over/... При выполнении строки с такой точкой останова - вместо останова выполнится команда отладчика, которая запишет в лог-файл значение регистра.
Go to the top of the page
 
+Quote Post
uriy
сообщение Apr 28 2012, 12:27
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Уже близко. Но в таком режиме получается что будет загонять в файл только после каждого останова. Мне не надо чтобы программа встала на брекпойнте. У меня есть прерывания от таймера на частоте 8КГц. В них считываю значения с АЦП. Нужно чтобы прерывание по-прежнему отрабатывало на 8КГц и писало эти отсчеты в файл.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 28 2012, 13:05
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(uriy @ Apr 28 2012, 16:27) *
Но в таком режиме получается что будет загонять в файл только после каждого останова.

Читайте внимательно: "... вместо останова выполнится команда отладчика...". Чтобы на таком breakpoint`е прервалось выполнение программы в команду breakpoint`а нужно добавить присвоение ненулевого значения системной переменной _break_. Если эту переменную - не трогать, то на точке останова с командами "внутри" останов выполнения программы не осуществляется.

Цитата(uriy @ Apr 28 2012, 16:27) *
Нужно чтобы прерывание по-прежнему отрабатывало на 8КГц и писало эти отсчеты в файл.
А, используемые Вами отладочные средства/монитор/ресурсы МК смогут это обеспечить?
Go to the top of the page
 
+Quote Post
rusian_vodka
сообщение Feb 26 2013, 07:23
Сообщение #10





Группа: Новичок
Сообщений: 1
Регистрация: 26-02-13
Пользователь №: 75 794



Здравствуйте возник вопросик.
Буду ра очень ответу.
Возможно ли сделать то же самое только наоборот.
Тоесть у меня есть тхт файлик с кучей значений, хочу их передавать через унит тест кейла в программу. подскажите как сие реализовать.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 26 2013, 09:37
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(rusian_vodka @ Feb 26 2013, 11:23) *
Возможно ли сделать то же самое только наоборот.

Как такое сделать "руками" описано в Menu -> Help -> uVision Help -> µVision4 User's Guide -> Simulation -> Digital Input

Если "руками" это делать проблематично (хотите автоматизировать процесс), то можно использовать AGSI - Advanced Generic Simulator Interface (cм. AppNote 154). Однако, AGSI - очень "мощная" штука, и использование этого интерфейса - процесс отнюдь не тривиальный...
Go to the top of the page
 
+Quote Post

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

 


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


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