Гость impatt 17 марта, 2008 Опубликовано 17 марта, 2008 · Жалоба Доброе утро всем. Есть ARM9** на плате. Хочу поотлаживать линукс на нём. ARM оснащён JTAG интерфейсом. Вопрос: если я заведу GDB, то будет ли он корректно отлаживать ядро линукса ? Там ведь всякие режимы адресации: физические, логические, виртуальные.. Как сам JTAG интерфейс манипулирует типом адресов ? В общем, прокомментируйте, плз, кто может. Спасибо. ЗЫ: если это уже есть на форуме, прошу дать линк. Поиск всё равно хламной, искать даже не пробовал в этот раз (хватило прошлых разов). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Доброе утро всем. Есть ARM9** на плате. Хочу поотлаживать линукс на нём. ARM оснащён JTAG интерфейсом. Вопрос: если я заведу GDB, то будет ли он корректно отлаживать ядро линукса ? Там ведь всякие режимы адресации: физические, логические, виртуальные.. Как сам JTAG интерфейс манипулирует типом адресов ? В общем, прокомментируйте, плз, кто может. Спасибо. ЗЫ: если это уже есть на форуме, прошу дать линк. Поиск всё равно хламной, искать даже не пробовал в этот раз (хватило прошлых разов). JTAG отлаживает "аппаратно". Т.е. абсолютно все, что происходит в процессоре. Это врядли то что нужно Вам. GDB может использовать последовательный интерфейс и TCP/IP для отладки. На таргет платформе запускаете gdbserver. На PC gdb. И отлаживаете спокойно используя тот-же eclipse, например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость impatt 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба JTAG отлаживает "аппаратно". Т.е. абсолютно все, что происходит в процессоре. Не понял. Адресация при постановке точки останова через JTAG в какой модели адресации ? Физической ? Это врядли то что нужно Вам. Ну, если работать не будет, как надо - то и впрямь, не нужно :) GDB может использовать последовательный интерфейс и TCP/IP для отладки. Известно. На таргет платформе запускаете gdbserver. На PC gdb. И отлаживаете спокойно используя тот-же eclipse, например. Обратите внимание, уважаемый: мне не отладка приложение под линуксом на АРМ-е нужна, а самого линукса. Отсюда следует: 1. Так как встроенного в linux ядерного отладчика под ARM нет, надо пытаться использовать аппаратный отладчик на микросхеме (JTAG) 2. Пока не работает ОС на целевой платформе (тот-же линукс), то запускать gdbserver на ней не получится, равно как заюзать COM\TCP Вопрос по адресации через JTAG остался актуальным :) Напоминаю: адресация есть физическая и ещё как минимум виртуальная. Как JTAG работает с ними ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amw 0 18 марта, 2008 Опубликовано 18 марта, 2008 · Жалоба Не понял. Адресация при постановке точки останова через JTAG в какой модели адресации ? Физической ? Ну, если работать не будет, как надо - то и впрямь, не нужно :) Известно. Обратите внимание, уважаемый: мне не отладка приложение под линуксом на АРМ-е нужна, а самого линукса. Отсюда следует: 1. Так как встроенного в linux ядерного отладчика под ARM нет, надо пытаться использовать аппаратный отладчик на микросхеме (JTAG) 2. Пока не работает ОС на целевой платформе (тот-же линукс), то запускать gdbserver на ней не получится, равно как заюзать COM\TCP Вопрос по адресации через JTAG остался актуальным :) Напоминаю: адресация есть физическая и ещё как минимум виртуальная. Как JTAG работает с ними ? Ээээ... Я не понял Вашего первого поста. Виртуальный (если MMU уже включен). Физический адрес нужно узнавать через MMU. После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров. Могу лиш порекомендовать исследовать архив ARM Linux Mailing List. Помню, там пробегало такое. http://www.arm.linux.org.uk/mailinglists/lists.php Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость impatt 19 марта, 2008 Опубликовано 19 марта, 2008 · Жалоба Виртуальный (если MMU уже включен). Физический адрес нужно узнавать через MMU. После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров. Могу лиш порекомендовать исследовать архив ARM Linux Mailing List. Помню, там пробегало такое. http://www.arm.linux.org.uk/mailinglists/lists.php Спасибо. Буду глядеть. Виртуальный (если MMU уже включен). После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров. Ещё интересно: если только виртуальные адреса, а у меня, положим, пара процессов с одинаковыми диапазонами виртуальных адресов. Как JTAG выбирает, в каком процесе поставить брекпойнт на определённый виртуальный аддрес, если адреса совпадают ? Просто любопытно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 23 мая, 2013 Опубликовано 23 мая, 2013 · Жалоба Насколько продвинулось сообщество в этом вопросе за 5 лет ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 5 23 мая, 2013 Опубликовано 23 мая, 2013 · Жалоба Насколько продвинулось сообщество в этом вопросе за 5 лет ? Год назад поднимал линукс на новой железке, пользовался jtag. Все делал по мануалам, отладка ядра работала. При переходе к вируальным адресам есть тонкость но она описана. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться