vak: (Default)
[personal profile] vak
Закончил первую версию gdbproxy для процессоров Элвис с архитектурой MIPS32. Теперь для разработки встроенных систем можно использовать отладчики GDB, Insight, а самое главное - Эклипс, Поддерживаются три JTAG-адаптера: Элвис USB, Элвис LPT и самодельный Bitbang. Проект gdbproxy небесплатный, кому надо - обращайтесь.

Забавно наблюдать поведение процессора с явным конвейером. В случае остановки имеем не один адрес выполняемой команды, а пять адресов. Пять "текущих" команд в разных стадиях завершённости. И что надо считать адресом останова - интересный вопрос.

Date: 2010-04-30 19:22 (UTC)
From: [identity profile] spamsink.livejournal.com
Адрес первой из команд, выполнение которой еще не (полностью) повлияло на состояние, видимое на уровне instruction set architecture, вестимо.

Date: 2010-04-30 20:05 (UTC)
From: [identity profile] nzeemin.livejournal.com
Интересно. А где можно найти описание -- как делаются GDB-прокси? У меня есть пара эмуляторов и всё думаю как к ним прикручивать "правильные" отладчики.
(deleted comment)

Date: 2010-04-30 21:38 (UTC)
From: [identity profile] skolk.livejournal.com
info gdb 'Remote protocol'
(deleted comment)

Date: 2010-04-30 21:53 (UTC)
From: [identity profile] skolk.livejournal.com
Протокол работает по RS-232 и TCP.
IMHO, bind 127.0.0.1
(deleted comment)

Date: 2010-04-30 22:05 (UTC)
From: [identity profile] skolk.livejournal.com
Я не в курсе :(

Если нельзя, но очень хочется, можно элементарно пропатчить клиента на предмет запуска симулятора через каналы, благо клиент открытый :)

Может, тут вопрос в том, что сервер должен существовать без клиента?
Или речь не о каналах, а о сокетах UNIX-домена? Тогда отличий вообще никаких.
(deleted comment)

Date: 2010-04-30 22:16 (UTC)
From: [identity profile] skolk.livejournal.com
Симулятор является фильтром (http://en.wikipedia.org/wiki/Filter_(Unix)).

Пришивается по вкусу.
(deleted comment)

Date: 2010-04-30 22:22 (UTC)
From: [identity profile] skolk.livejournal.com
А что такое inetd ? ;-)
(deleted comment)

Date: 2010-04-30 22:27 (UTC)
From: [identity profile] skolk.livejournal.com
по пришиванию фильтров :-)
(deleted comment)

Date: 2010-04-30 22:37 (UTC)
From: [identity profile] skolk.livejournal.com
Я написал, что не знаю (http://ramlamyammambam.livejournal.com/123488.html?thread=870240#t870240).

1. Удостоверяемся, что нас устраивает время жизни сервера, ограниченное временем жизни клиента (без внутренне сохраняемого сотояния между сессиями).
2. Если да, реализуем его как фильтр.
3. Пришиваем по вкусу - либо через inetd/аналоги, либо через pipe/fork/exec.

Разницы не вижу :-)