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

 
 
9 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Дэбаг непрерывного процесса?, IAR 4.41A, AT91SAM7S256
coolibin
сообщение Jun 16 2009, 15:10
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



Есть участки программы, где я не могу поставить брейкпоинт, т. к. нарушу процесс приема/передачи данных, но все равно хотелось бы посмотреть, что там происходит, например, в программе на Win32 я бы все вывел в лог файл. Как быть с ARM'ом? Вводить дополн. переменные для дебага?


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 15:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Выкидываете отладчик, берете UART, прикручиваете к нему FIFO, подключаете терминал и спокойно отлаживаетесь.
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jun 16 2009, 15:26
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



А почему так радикально? есть какое то недоверие отладчику? а если не затруднит, можно поподробней что куда подключать и где это что то брать?

Сообщение отредактировал coolibin - Jun 16 2009, 15:27


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 17:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(coolibin @ Jun 16 2009, 19:26) *
А почему так радикально? есть какое то недоверие отладчику? а если не затруднит, можно поподробней что куда подключать и где это что то брать?

Отладчик - инструмент мало пригодный для работы с живым процессом.

Подключать к PC при помощи RS232 или другого доступного буферизированного интерфейса. Брать нигде ничего не надо, отладочный вывод можно написать самостоятельно.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 16 2009, 17:08
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(coolibin @ Jun 16 2009, 18:26) *
А почему так радикально? есть какое то недоверие отладчику?

Да не слушайте всякую радикальную дурь.

Цитата
а если не затруднит, можно поподробней что куда подключать и где это что то брать?

printf() поставить в нужных точках,
а поток printf'а, тобиш соответвующий "putchar" делать куда удобно, хоть в UART, хоть в JTAG, хоть просто в память складывать (виртуальный файл) который потом под отладкой и просмотрите..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 17:42
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jun 16 2009, 21:08) *
Да не слушайте всякую радикальную дурь.

Выбирайте выражения. Понимаю, что больная для вас тема, но все же.
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jun 16 2009, 17:56
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



А что printf() работает через JTAG? я слышал что нет


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 18:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Работает. И файловый ввод/вывод тоже. Можно, например, отлаживать файловую систему, прикрутив при помощи нехитрых манипуляций физический диск хоста, и тем самым сэкономить время на перетыкании носителя.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 16 2009, 18:16
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Jun 16 2009, 20:42) *
Выбирайте выражения. Понимаю, что больная для вас тема, но все же.

Выражение выбрано адекватно, и касается исключительно радикальной дури насчет "выкидывайте отладчик".
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 16 2009, 18:20
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(coolibin @ Jun 16 2009, 21:56) *
А что printf() работает через JTAG? я слышал что нет

В некоторых средах разработки через JTAG есть доступ к файловой системе компьютера, и через fopen/fprintf/fwrite/fread из отлаживаемого проца можно работать прямо с файлами на диске, где пущена среда разработки. printf - выдает сообщения в окно среды разработки. Без каких либо хитростей, просто сразу есть по умолчанию. А также есть технологии реалтайм потоковой передачи данных от отлаживаемого процессора на хост по JTAG.
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jun 16 2009, 19:27
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



подскажите где можно почитать про printf? какой заголовочный файл нужно включить для его использования?


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 19:32
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jun 16 2009, 22:16) *
Выражение выбрано адекватно, и касается исключительно радикальной дури насчет "выкидывайте отладчик".

Полагаете, что агрессивное хамство поможет в борьбе с "радикальной дурью", в вашем понимании?

Цитата(coolibin @ Jun 16 2009, 23:27) *
подскажите где можно почитать про printf? какой заголовочный файл нужно включить для его использования?

Для использования printf нужно подключить <stdio.h> Почитать следует книжку по 'C' и документацию на компилятор по
вопросам перенаправления потока.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jun 16 2009, 19:38
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Если "процесс" - это прерывание таймера раз в секунду, то можно и принтфом.
А если прерывание раз в микросекунду - то замучаетесь пыль глотать с принтэфом.

То, что предлагает aaarrr, занимает пару машинных команд. Т.е. вмешательство в реалтайм будет минимальным.
А в большинстве случаев, вмешательство принтэф будет фатальным.

Разве что написать свой принтэф. Но в этом случае - гораздо проще его не писать.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
coolibin
сообщение Jun 16 2009, 19:43
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 19-07-07
Пользователь №: 29 228



Оч. интересно! на сколько фатальным будет стандартный printf?


--------------------
Нет повести печальнее на свете, чем повесть о хреновом интернете.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 19:46
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(coolibin @ Jun 16 2009, 23:43) *
Оч. интересно! на сколько фатальным будет стандартный printf?

Зависит от качества и конфигурации стандартных библиотек компилятора. В большинстве случаев все же не фатально, но если времена меньше единиц мс, то вывод придется делать свой.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2024 - 13:51
Рейтинг@Mail.ru


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