|
|
  |
как отлаживать at91sam7x имея jLink? |
|
|
|
Jan 12 2007, 00:30
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(anpilog @ Jan 11 2007, 22:59)  ... процессор просто не подает признаков жизни (работу кварца проверить нечем).
Какой подход в этом случае? Каким ПО пользоваться, куда копать, что читать? Для того, чтобы начать отлаживать софт, необходима рабочая "железка". Можно аналитически предполагать о возможных причинах неработоспособности процессора и выдвигать гипотезы о нужных действиях, но IMHO проще подъехать к знакомым, у которых есть хотя бы аналоговый осциллограф и убедиться, что, как минимум, запускается ядро. Дальше можно загрузить любой пример, благо их есть у Atmel, и почти все рабочие  Проверить его работу. И только потом уже лить ось, и отлаживать на ней приложения. Удачи в Вашем (равно как и нашем) нелёгком деле!
|
|
|
|
|
Jan 12 2007, 00:48
|

Частый гость
 
Группа: Свой
Сообщений: 145
Регистрация: 11-12-06
Пользователь №: 23 382

|
Цитата(Master @ Jan 11 2007, 23:30)  Для того, чтобы начать отлаживать софт, необходима рабочая "железка". Можно аналитически предполагать о возможных причинах неработоспособности процессора и выдвигать гипотезы о нужных действиях, но IMHO проще подъехать к знакомым, у которых есть хотя бы аналоговый осциллограф и убедиться, что, как минимум, запускается ядро. Дальше можно загрузить любой пример, благо их есть у Atmel, и почти все рабочие  Проверить его работу. И только потом уже лить ось, и отлаживать на ней приложения. Удачи в Вашем (равно как и нашем) нелёгком деле! Правильный ли я сделал вывод о том, что ядро запускается из того, что работает "blink.c" (управление светодиодом) в среде crossworks? при этом замечательно работает пошаговая отладка через jlink Полностью согласен с Вашими рекомендациями и в принципе так и поступаю. Но вот что мне делать если "blink.c" работает а что-то большее нет? К слову вполне жизненная ситуация: http://electronix.ru/forum/index.php?showtopic=25782
--------------------
--- human traffic - всегда 8)
|
|
|
|
|
Jan 12 2007, 01:28
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(anpilog @ Jan 12 2007, 00:48)  Правильный ли я сделал вывод о том, что ядро запускается из того, что работает "blink.c" (управление светодиодом) в среде crossworks? при этом замечательно работает пошаговая отладка через jlink Полностью согласен с Вашими рекомендациями и в принципе так и поступаю. Но вот что мне делать если "blink.c" работает а что-то большее нет? К слову вполне жизненная ситуация: http://electronix.ru/forum/index.php?showtopic=25782Полагаю, правоту сделанных выводов Вы можете оценить только сами. Любое мнение будет субъективным. Если отойти от философии, то с CW я пока (к большому сожалению) дела не имел. Пишу под IAR. Насчёт ситуации по указанной ссылке, я заметил в коде использование таймера - гарантируете, что правильно настроен? Помнится, в первых версиях моего прибора пошаговая отладка также работала. Соответственно, работоспособность кода было видно только под отладчиком. Как только отладчик вытаскивали, камень вставал в позу... . Но раз пошаговая отладка работает, пробуйте отловить момент, на котором выполнение останавливается.
|
|
|
|
|
Jan 12 2007, 13:33
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(anpilog @ Jan 12 2007, 14:19)  В моей ситуации есть код работающий под CW, но не работающий под GNU (WinARM, YAGARTO) Дык CW - и пользует GNU. Единственный известный мне баг arm-gcc - это неправильная генерация пролога/эпилога для обработчиков прерываний находящийся в *.c модуле. ( типа __attribute__ ((interrupt ("IRQ"))) ) с: уровнем оптимизации >1 для gcc 3.x.x (-O2 .. -O6, -Os) уровнем оптимизации >0 для gcc 4.x.x (-O1 .. -O6, -Os) Баг давно известный но что-то его не правят в официальной ветке. Зато например у klen-а всё есть.  Цитата У меня возникает вопрос - как его отлаживать, если у меня нет возможности даже ножку дернуть.... Чёта я не понял? А JTAG то есть?
|
|
|
|
|
Jan 12 2007, 13:58
|

Частый гость
 
Группа: Свой
Сообщений: 145
Регистрация: 11-12-06
Пользователь №: 23 382

|
Цитата(Alex03 @ Jan 12 2007, 12:33)  Цитата(anpilog @ Jan 12 2007, 14:19) 
В моей ситуации есть код работающий под CW, но не работающий под GNU (WinARM, YAGARTO)
Дык CW - и пользует GNU. Единственный известный мне баг arm-gcc - это неправильная генерация пролога/эпилога для обработчиков прерываний находящийся в *.c модуле. ( типа __attribute__ ((interrupt ("IRQ"))) ) с: уровнем оптимизации >1 для gcc 3.x.x (-O2 .. -O6, -Os) уровнем оптимизации >0 для gcc 4.x.x (-O1 .. -O6, -Os) Баг давно известный но что-то его не правят в официальной ветке. Зато например у klen-а всё есть.  Цитата У меня возникает вопрос - как его отлаживать, если у меня нет возможности даже ножку дернуть.... Чёта я не понял? А JTAG то есть? Jtag есть - JLink Как мне гео использовать в такой ситуации??? Можно разжевать как младенцу - то что надо!!! 8) Заранее благодарен.
--------------------
--- human traffic - всегда 8)
|
|
|
|
|
Jan 12 2007, 19:30
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(anpilog @ Jan 12 2007, 15:58)  Цитата Чёта я не понял? А JTAG то есть?
Jtag есть - JLink Как мне гео использовать в такой ситуации??? Можно разжевать как младенцу - то что надо!!! 8) Заранее благодарен. Так. Давай всё снова. Девайс есть. JLink есть. CW есть. Прога компиляется и зашивается в проц? В флешь? CW Debug->Start debugging (или Reset and debug) на main-е тормозяться? Далее пошаговая отладка. Или вообще в любой момент времени Attach Debugger и Break Execution и смотрим где оно крутится (когда проблемы часто в aborte  ). Или я чё не понял опять?
|
|
|
|
|
Jan 12 2007, 23:30
|

Частый гость
 
Группа: Свой
Сообщений: 145
Регистрация: 11-12-06
Пользователь №: 23 382

|
Цитата(Alex03 @ Jan 12 2007, 18:30)  Так. Давай всё снова. Девайс есть. JLink есть. CW есть. Прога компиляется и зашивается в проц? В флешь? CW Debug->Start debugging (или Reset and debug) на main-е тормозяться? Далее пошаговая отладка. Или вообще в любой момент времени Attach Debugger и Break Execution и смотрим где оно крутится (когда проблемы часто в aborte  ). Или я чё не понял опять? Понял - так. Это я понимаю и делаю. Но вот мне надо теперь заупстить, например, тот же ethernut ил freertos (под GNU GCC - winarm или yagarto). А оно не заводится, причем майтейнеры и комьюнити говорят, что у них все работает. А у меня - нет. Как мне отлаживать? Где ошибки искать? Точнее каким образом????
--------------------
--- human traffic - всегда 8)
|
|
|
|
|
Jan 14 2007, 14:21
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(anpilog @ Jan 13 2007, 01:30)  Но вот мне надо теперь заупстить, например, тот же ethernut ил freertos (под GNU GCC - winarm или yagarto). А оно не заводится, причем майтейнеры и комьюнити говорят, что у них все работает. Как мне отлаживать? Где ошибки искать? Точнее каким образом???? То мигание светодиодом под CW, то ethernut или freertos под winarm или yagarto. Может хотябы "или" убрать. Если вопрос в winarm или yagarto то я ничего не скажу. Но для отладки видимо глядеть надо в сторону gdb и его фронтэндов. Или начать с тойже freertos под CW а уж по факту запуска/работы перенести проект на тотже winarm.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|