Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: GDB + ARM + JTAG
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
impatt
Доброе утро всем.
Есть ARM9** на плате. Хочу поотлаживать линукс на нём.
ARM оснащён JTAG интерфейсом.
Вопрос: если я заведу GDB, то будет ли он корректно отлаживать ядро линукса ? Там ведь всякие режимы адресации: физические, логические, виртуальные.. Как сам JTAG интерфейс манипулирует типом адресов ?

В общем, прокомментируйте, плз, кто может.

Спасибо.

ЗЫ: если это уже есть на форуме, прошу дать линк. Поиск всё равно хламной, искать даже не пробовал в этот раз (хватило прошлых разов).
amw
Цитата(impatt @ Mar 17 2008, 08:06) *
Доброе утро всем.
Есть ARM9** на плате. Хочу поотлаживать линукс на нём.
ARM оснащён JTAG интерфейсом.
Вопрос: если я заведу GDB, то будет ли он корректно отлаживать ядро линукса ? Там ведь всякие режимы адресации: физические, логические, виртуальные.. Как сам JTAG интерфейс манипулирует типом адресов ?

В общем, прокомментируйте, плз, кто может.

Спасибо.

ЗЫ: если это уже есть на форуме, прошу дать линк. Поиск всё равно хламной, искать даже не пробовал в этот раз (хватило прошлых разов).

JTAG отлаживает "аппаратно". Т.е. абсолютно все, что происходит в процессоре. Это врядли то что нужно Вам.
GDB может использовать последовательный интерфейс и TCP/IP для отладки.
На таргет платформе запускаете gdbserver. На PC gdb. И отлаживаете спокойно используя тот-же eclipse, например.
impatt
Цитата(amw @ Mar 18 2008, 14:09) *
JTAG отлаживает "аппаратно". Т.е. абсолютно все, что происходит в процессоре.

Не понял.
Адресация при постановке точки останова через JTAG в какой модели адресации ? Физической ?

Цитата(amw @ Mar 18 2008, 14:09) *
Это врядли то что нужно Вам.

Ну, если работать не будет, как надо - то и впрямь, не нужно smile.gif

Цитата(amw @ Mar 18 2008, 14:09) *
GDB может использовать последовательный интерфейс и TCP/IP для отладки.

Известно.

Цитата(amw @ Mar 18 2008, 14:09) *
На таргет платформе запускаете gdbserver. На PC gdb. И отлаживаете спокойно используя тот-же eclipse, например.

Обратите внимание, уважаемый: мне не отладка приложение под линуксом на АРМ-е нужна, а самого линукса.
Отсюда следует:
1. Так как встроенного в linux ядерного отладчика под ARM нет, надо пытаться использовать аппаратный отладчик на микросхеме (JTAG)
2. Пока не работает ОС на целевой платформе (тот-же линукс), то запускать gdbserver на ней не получится, равно как заюзать COM\TCP

Вопрос по адресации через JTAG остался актуальным smile.gif
Напоминаю: адресация есть физическая и ещё как минимум виртуальная.
Как JTAG работает с ними ?
amw
Цитата(impatt @ Mar 18 2008, 12:18) *
Не понял.
Адресация при постановке точки останова через JTAG в какой модели адресации ? Физической ?
Ну, если работать не будет, как надо - то и впрямь, не нужно smile.gif
Известно.
Обратите внимание, уважаемый: мне не отладка приложение под линуксом на АРМ-е нужна, а самого линукса.
Отсюда следует:
1. Так как встроенного в linux ядерного отладчика под ARM нет, надо пытаться использовать аппаратный отладчик на микросхеме (JTAG)
2. Пока не работает ОС на целевой платформе (тот-же линукс), то запускать gdbserver на ней не получится, равно как заюзать COM\TCP

Вопрос по адресации через JTAG остался актуальным smile.gif
Напоминаю: адресация есть физическая и ещё как минимум виртуальная.
Как JTAG работает с ними ?

Ээээ... Я не понял Вашего первого поста.

Виртуальный (если MMU уже включен). Физический адрес нужно узнавать через MMU. После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров.

Могу лиш порекомендовать исследовать архив ARM Linux Mailing List. Помню, там пробегало такое.
http://www.arm.linux.org.uk/mailinglists/lists.php
impatt
Цитата(amw @ Mar 18 2008, 16:23) *
Виртуальный (если MMU уже включен). Физический адрес нужно узнавать через MMU. После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров.
Могу лиш порекомендовать исследовать архив ARM Linux Mailing List. Помню, там пробегало такое.
http://www.arm.linux.org.uk/mailinglists/lists.php

Спасибо.
Буду глядеть.


Цитата(amw @ Mar 18 2008, 16:23) *
Виртуальный (если MMU уже включен). После включения MMU процессор оперирует только виртуальными, с точки зрения команд и содержимого регистров.

Ещё интересно: если только виртуальные адреса, а у меня, положим, пара процессов с одинаковыми диапазонами виртуальных адресов. Как JTAG выбирает, в каком процесе поставить брекпойнт на определённый виртуальный аддрес, если адреса совпадают ?
Просто любопытно.
DASM
Насколько продвинулось сообщество в этом вопросе за 5 лет ?
_3m
Цитата(DASM @ May 23 2013, 14:24) *
Насколько продвинулось сообщество в этом вопросе за 5 лет ?

Год назад поднимал линукс на новой железке, пользовался jtag. Все делал по мануалам, отладка ядра работала. При переходе к вируальным адресам есть тонкость но она описана.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.