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

 
 
 
Reply to this topicStart new topic
> GDB + ARM + JTAG, Кто-нибудь может прокомментиовать связку ?
impatt
сообщение Mar 17 2008, 06:06
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088



Доброе утро всем.
Есть ARM9** на плате. Хочу поотлаживать линукс на нём.
ARM оснащён JTAG интерфейсом.
Вопрос: если я заведу GDB, то будет ли он корректно отлаживать ядро линукса ? Там ведь всякие режимы адресации: физические, логические, виртуальные.. Как сам JTAG интерфейс манипулирует типом адресов ?

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

Спасибо.

ЗЫ: если это уже есть на форуме, прошу дать линк. Поиск всё равно хламной, искать даже не пробовал в этот раз (хватило прошлых разов).
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 18 2008, 09:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



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

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

Спасибо.

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

JTAG отлаживает "аппаратно". Т.е. абсолютно все, что происходит в процессоре. Это врядли то что нужно Вам.
GDB может использовать последовательный интерфейс и TCP/IP для отладки.
На таргет платформе запускаете gdbserver. На PC gdb. И отлаживаете спокойно используя тот-же eclipse, например.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
impatt
сообщение Mar 18 2008, 10:18
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088



Цитата(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 работает с ними ?
Go to the top of the page
 
+Quote Post
amw
сообщение Mar 18 2008, 11:23
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(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


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
impatt
сообщение Mar 19 2008, 08:33
Сообщение #5


Частый гость
**

Группа: Validating
Сообщений: 169
Регистрация: 10-11-04
Из: Челябинск
Пользователь №: 1 088



Цитата(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 выбирает, в каком процесе поставить брекпойнт на определённый виртуальный аддрес, если адреса совпадают ?
Просто любопытно.
Go to the top of the page
 
+Quote Post
DASM
сообщение May 23 2013, 10:24
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Насколько продвинулось сообщество в этом вопросе за 5 лет ?
Go to the top of the page
 
+Quote Post
_3m
сообщение May 23 2013, 13:05
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(DASM @ May 23 2013, 14:24) *
Насколько продвинулось сообщество в этом вопросе за 5 лет ?

Год назад поднимал линукс на новой железке, пользовался jtag. Все делал по мануалам, отладка ядра работала. При переходе к вируальным адресам есть тонкость но она описана.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 07:22
Рейтинг@Mail.ru


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