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

 
 
> Средства отладки ARM11, Cortex-A8, для отладки Android через JTAG
Bosicc
сообщение Jan 12 2010, 16:10
Сообщение #1


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

Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970



Добрый день уважаемые Армоведы.

Возникла необходимость поиграться с платформой Android в чистом виде. Не на уровне Java приложений, а на уровне потрохов и внутренностей железа и пошаговой отладки исходников.
Пока все только теоретически, но хочется перейти и к практике. Для этого немного просмотрел что есть на рыке отладочных плат для Android:
1. Texas Instrumentals OMAP kit based on TI OMAP 3530 (Cortex A8) 600MHz kit здесь или здесь
2. Samsung ARM11 S3C6410 ARM1176JZF-S 800 MHz здесь или здесь. У Корейцев есть Mango64
3. Samsung ARM9 S3C2440A ARM920T 400 MHz На форуме уже писали про него. Так же нашел здесь и здесь

Пока идет выбор платы, решил посмотреть, а чем же можно зацепить ARM11 или Cortex-A8 через JTAG и подебагать в железе.
И то, что смог найти:
1. RealView
2. UDE/ARM11 Universal Debug Engine
3. EDGE debuger from Mentor Graphics

И как бы в меморис, не много полезных ссылок:
1. The ARM Solution Center for Android
2. Android source code
3. Qualcomm - Snapdragon
4. Samsung - ARM11

Есть множество ссылок и мануалов по потому как собрать исходники и получить образ системы, но для меня осталось не ясным следующее:
1. В какой среде можно отлаживать ARM11 или Cortex-A8 через JTAG?
2. Какой нужно купить JTAG что б можно было комфортно дебагать? (не изобретая велосипед)
3. Как собирать проект? Может у кого есть опыт или пожелания/наставления?

Буду очень рад обсудить выше изложенные вопросы и все что касается разработки под Android на asm,С,С++
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AlexandrY
сообщение Jan 12 2010, 18:07
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Вот тут вы почувствуете всю "открытость" Андроида. biggrin.gif
Вам по сути надо отлаживать Линукс. Причем после специфичного патча.
А вам ведь нужно перестроить ядро чтоб туда попала отладочная информация. Это первая проблема.

Далее, значит все типа CCS, RealView, EDGE-йе ... идет лесом.
Ни в чем этом вы не сможете не только собрать, но и нормально парсить и редактировать исходники.
Об отладке через JTAG даже речи быть не может, они никто не понимают файлов с отладочной информацией Линукса. (а сначала они под Линуксом сами должны работать)
Да, погонять биты по JTAG-у сможете, даже увидите регистры процессора в неизвестном модуле, процессе, треде и адресном пространстве!
Но как понимаете это не отладка.
Есть только путь через Eclipse->CDT->GDB (JTAG который выберете должен поддерживать GDB).
Но и тут собственно операционку, драйвера и процессы проблематично визуализировать.
Т.е. получится ли в принципе поставить брекпойнт в драйвере и ожидать что CDT остановиться там где надо и правильно покажет все адресное пространство с локальными переменными в контексте ядра Линукса науке не известно.
По крайней мере свидетельств этому в инете либо нет либо крайне мало.


Цитата(Bosicc @ Jan 12 2010, 18:10) *
Добрый день уважаемые Армоведы.

Возникла необходимость поиграться с платформой Android в чистом виде. Не на уровне Java приложений, а на уровне потрохов и внутренностей железа и пошаговой отладки исходников.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jan 14 2010, 15:48
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(AlexandrY @ Jan 12 2010, 22:07) *
Т.е. получится ли в принципе поставить брекпойнт в драйвере и ожидать что CDT остановиться там где надо и правильно покажет все адресное пространство с локальными переменными в контексте ядра Линукса науке не известно.


Не отношусь к научным работникам но делал это достаточно легко на современных ядрах linux на arm. Посмотрите про kgdb причем даже jtag не нужен. http://kgdb.wiki.kernel.org/index.php/Main_Page - в последних ядрах уже ничего не нужно патчить, он включен в основную ветку ядра.

Сообщение отредактировал sasamy - Jan 14 2010, 16:28
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 14 2010, 19:15
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Не вводите только в заблуждение.
Где написано с какими именно JTAG-ами kgdb умеет работать?
То что есть софтварные отладчики для Линукс нельзя не заметить, позанимавшись темой хотя бы 5 минут.
Но человека интересует именно JTAG.
Подозреваю, что именно потому что он не может поднять kgdb ввиду "открытости" Андроида.
Но и с JTAG-ом будет облом, вот и вся информация...

Цитата(sasamy @ Jan 14 2010, 17:48) *
Не отношусь к научным работникам но делал это достаточно легко на современных ядрах linux на arm. Посмотрите про kgdb причем даже jtag не нужен. http://kgdb.wiki.kernel.org/index.php/Main_Page - в последних ядрах уже ничего не нужно патчить, он включен в основную ветку ядра.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jan 14 2010, 20:11
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(AlexandrY @ Jan 14 2010, 23:15) *
Не вводите только в заблуждение.
Где написано с какими именно JTAG-ами kgdb умеет работать?
То что есть софтварные отладчики для Линукс нельзя не заметить, позанимавшись темой хотя бы 5 минут.
Но человека интересует именно JTAG.
Подозреваю, что именно потому что он не может поднять kgdb ввиду "открытости" Андроида.
Но и с JTAG-ом будет облом, вот и вся информация...


В заблуждение вводите Вы, причем постоянно. Я дал ответ на конкретное высказываение конкретного человека- Вас то есть, про невозможность отладки ядра linux. Про открытость андроида я ничего не знаю. А jtag для kgdb нужен как русалке лыжи - он нормально через последовательный порт работает как gdb-сервер. Потом что подразумевается под софтварным отладчиком ? kgdb - это не отладка в эмуляторе а самая настоящая отладка на настоящем железе с возможностью пошагового исполнения в разумных пределах конечно. Соответственно jtag - как промежуточное звено которе потом один фик выступает как локальный gdb-сервер между железом и отладчиком на рабочем столе не нужен как класс.

Сообщение отредактировал sasamy - Jan 14 2010, 20:38
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 14 2010, 22:00
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Вы правы в своих словах и в своем контексте.
Настоящий контекст нам неизвестен, человек хочет JTAG. По выложенным им ссылкам можно конечно предположить что он немного не понимает сути проблем. Скажем то, что хождением по шагам Линукс с Андроидом не понять.
Но может речь действительно идет о попытках ловли хардварных траблов на сырой платформе, скажем как раз тех китайских на которые были даны ссылки.
Софтварные отладчики типа kgdb хороши когда у вас как минимум отладочный канал работает без проблем и ядро. Но на сырых платформах падать может что угодно, там могут быть элементарные проблемы с целостностью сигналов или некорректной инициализацией в фирменном BSP.
Здесь только JTAG поможет и больше ничего, а еще лучше вместе с аппаратным трассировщиком. И JTAG потом в течении жизненного цикла постоянно будет нужен. Можно конечно и без него, но время отладки вырастает в разы.

Цитата(sasamy @ Jan 14 2010, 22:11) *
В заблуждение вводите Вы, причем постоянно. Я дал ответ на конкретное высказываение конкретного человека- Вас то есть, про невозможность отладки ядра linux. Про открытость андроида я ничего не знаю. А jtag для kgdb нужен как русалке лыжи - он нормально через последовательный порт работает как gdb-сервер. Потом что подразумевается под софтварным отладчиком ? kgdb - это не отладка в эмуляторе а самая настоящая отладка на настоящем железе с возможностью пошагового исполнения в разумных пределах конечно. Соответственно jtag - как промежуточное звено которе потом один фик выступает как локальный gdb-сервер между железом и отладчиком на рабочем столе не нужен как класс.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Bosicc   Средства отладки ARM11, Cortex-A8   Jan 12 2010, 16:10
- - SM   Могу точно сказать, что если есть TI-шный CCS и со...   Jan 12 2010, 16:23
|- - Bosicc   Цитата(SM @ Jan 12 2010, 18:23) Могу точн...   Jan 12 2010, 16:59
|- - SM   Цитата(Bosicc @ Jan 12 2010, 19:59) Вопро...   Jan 12 2010, 17:18
|- - КонстантинТ   Цитата(AlexandrY @ Jan 12 2010, 21:07) Во...   Jan 13 2010, 08:35
- - vanokuten   На уровне JTAG и отладки начального загрузчика (ск...   Jan 12 2010, 22:44
|- - SM   Цитата(vanokuten @ Jan 13 2010, 01:44) gd...   Jan 13 2010, 06:21
|- - AlexandrY   Ну загрузчики Линукса это примитивные по сути прог...   Jan 13 2010, 10:08
|- - SM   Цитата(AlexandrY @ Jan 13 2010, 13:08) Ин...   Jan 13 2010, 10:32
- - Trashy   Если тебе просто поиграться, то купи игруху на баз...   Jan 13 2010, 07:31


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:29
Рейтинг@Mail.ru


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