|
Практика отладки программ, интересно узнать как профи отлаживают программы |
|
|
|
 |
Ответов
|
Apr 14 2010, 09:09
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Аматер @ Apr 14 2010, 12:17)  1. Как специ без jtag эмулируют апаратуру? Ну, во первых, отлаживаемое устройство скорее всего не правильно спроектировано. Обычно можно слепить эмулятор, можно понизить напряжение питания итд. Во вторых есть два пути. Первый, самый простой, это несколько светодиодов (или просто свободных выводов). Вошли, подняли его вверх, вышли, опустили. Подключив осцилограф, можно посмотреть сколько времени оно проходит в каком-то участке кода. Ну и самый надежный, это если есть свободный UART. В этом случае можно туда выдавать отладочную информацию.
|
|
|
|
|
Apr 14 2010, 09:26
|

Частый гость
 
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616

|
Цитата(Methane @ Apr 14 2010, 13:24)  Ну, во первых, отлаживаемое устройство скорее всего не правильно спроектировано. Обычно можно слепить эмулятор, можно понизить напряжение питания итд. Во вторых есть два пути. Первый, самый простой, это несколько светодиодов (или просто свободных выводов). Вошли, подняли его вверх, вышли, опустили. Подключив осцилограф, можно посмотреть сколько времени оно проходит в каком-то участке кода. Ну и самый надежный, это если есть свободный UART. В этом случае можно туда выдавать отладочную информацию. Так это опять речь идет о выводе данных. Проблема же больше с вводом, и особенно в правильные моменты времени. А так вместо свотодиодов я последнее время стал логический анализатор использовать. Стоил он всего 300 сотни, но много может. Вот только устройство зачастую включить все равно нельзя, несмотря на большое количество защит. Все в нем слишком быстро происходит и напряжения - скорости не понизить.
|
|
|
|
|
Apr 14 2010, 12:07
|

Частый гость
 
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616

|
Цитата(Сергей Борщ @ Apr 14 2010, 15:24)  Что мешает вводить через тот же UART? И опрашивать этот UART в правильные моменты времени. Через UART у меня настроечная утилита работает через которую в процессе производсва устанавливаются 200 параметров. Можно конечно и второй UART задействовать для отладки, но это еще куча программного кода. Для отладки желательно иметь доступ к любой переменной, и вызовом функций управлять. Такую систему я только в CoDeSys видел. Но она очень наворочена и у них свой компилятор. Может я чего то не понимаю и можно сделать все небольшим числом функций, но как? Я не адресов переменных, ни адресов функций не знаю.
|
|
|
|
|
Apr 15 2010, 09:43
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(Аматер @ Apr 14 2010, 16:22)  Может я чего то не понимаю и можно сделать все небольшим числом функций, но как? Я не адресов переменных, ни адресов функций не знаю. Делал нечто такое. В прошику добавляется небольшой отладочный монитор, который умеет читать и писать память через UART. Можно добавить возможность вызывать процедуры по заданному (через UART) адресу. Адреса для переменных и функций извлекались из map файла линкера после компиляции проекта. На PC была утилита, которая умела эти данные брать и предоставляла некоторое подобие дебагера (ну очень простое) Проц был PIC16, компилятор HITECH PS. Для real-time систем это увы не подойдет
|
|
|
|
|
Apr 15 2010, 12:18
|

Частый гость
 
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616

|
Цитата(XVR @ Apr 15 2010, 13:58)  Делал нечто такое. В прошику добавляется небольшой отладочный монитор, который умеет читать и писать память через UART. Можно добавить возможность вызывать процедуры по заданному (через UART) адресу. Адреса для переменных и функций извлекались из map файла линкера после компиляции проекта. На PC была утилита, которая умела эти данные брать и предоставляла некоторое подобие дебагера (ну очень простое) Проц был PIC16, компилятор HITECH PS. Для real-time систем это увы не подойдет  Xорошая штука, чем не подойдет для real-time ?
|
|
|
|
Сообщений в этой теме
Аматер Практика отладки программ Apr 14 2010, 09:02   Костян Цитата(Сергей Борщ @ Apr 14 2010, 10:24) ... Apr 14 2010, 11:36   Methane Цитата(Сергей Борщ @ Apr 14 2010, 14:24) ... Apr 14 2010, 11:45    Сергей Борщ Цитата(Аматер @ Apr 14 2010, 14:22) Для о... Apr 14 2010, 12:35       Аматер Цитата(XVR @ Apr 15 2010, 21:46) Тем, что... Apr 16 2010, 06:14 sigmaN Ну и почему бы не использовать JTAG, тем более раз... Apr 14 2010, 09:58 Аматер А как писать программу чтобы не нужен был доступ к... Apr 14 2010, 13:15 MrYuran Цитата(Аматер @ Apr 14 2010, 17:30) А как... Apr 14 2010, 13:23  Аматер Цитата(MrYuran @ Apr 14 2010, 16:38) заби... Apr 14 2010, 13:40   _Pasha Цитата(Аматер @ Apr 14 2010, 16:55) А как... Apr 14 2010, 13:52    Аматер Цитата(_Pasha @ Apr 14 2010, 18:07) ПисАт... Apr 14 2010, 13:57     _Pasha Цитата(Аматер @ Apr 14 2010, 17:12) Так у... Apr 14 2010, 14:00     AlexandrY Неужто до сих пор ELF-парсера не портировали?
... Apr 15 2010, 12:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|