Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отлаживать AT91RM9200?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
afad
Подскажите как загрузить программу в AT91RM9200. Я так понял IAR не поддерживает Wiggler для этого процессора. Или я не прав?
DPL
Wiggler для ARM920T, как я понял, поддерживается Multi (сам не пробовал, пока только изучаю вопрос)
xoms
Вот помнится не получилось у меня завести AT91RM9200 виглером,
ни с IAR ни с MULTI, Crossworks правда не пробовал, говорят она лучше
всего с виглером дружит.
DPL
Цитата(xoms @ Nov 23 2004, 06:03 AM)
Вот помнится не получилось у меня завести AT91RM9200 виглером

А чем в итоге получилось (и получилось ли вообще smile.gif )?
IgorKossak
Цитата(afad @ Nov 22 2004, 05:13 PM)
Подскажите как загрузить программу в AT91RM9200. Я так понял IAR не поддерживает Wiggler для этого процессора. Или я не прав?

Что значит "для"?
Ниужели драйверу JTAG не всё равно с каким процессором работать?
xoms
Цитата(DPL @ Nov 23 2004, 12:16 PM)
Цитата(xoms @ Nov 23 2004, 06:03 AM)
Вот помнится не получилось у меня завести AT91RM9200 виглером

А чем в итоге получилось (и получилось ли вообще smile.gif )?

Получилось с отладкой MAJIC oт EPI (www.epi.com), но её покупать не надо,
1000$.

Потом прошили в AT91RM9200 bootloader , и забыли про jtag и ice. Отлаживаемся по сети.
afad
Цитата(xoms @ Nov 23 2004, 01:32 PM)
Потом прошили в AT91RM9200 bootloader , и забыли про jtag и ice. Отлаживаемся по сети.

Нельзя ли по подробнее, про процесс прошивки и отладки?
afad
Цитата(IgorKossak @ Nov 23 2004, 12:53 PM)
Ниужели драйверу JTAG не всё равно с каким процессором работать?

Просто IAR плохо дружит с Wiggler-ом, но в то же время в IAR - наилучший код (по моему мнению) и с IAR-ом я дружу давно, работал с AVR-ами, не хотелось бы на что-то другое переходить. А вот как залить программку в AT91RM9200 - непонятно, хотя бы в ОЗУ.
xoms
Цитата(afad @ Nov 23 2004, 01:39 PM)
Нельзя ли по подробнее, про процесс прошивки и отладки?

Сам проц умеет згружать и запускать любой код по х-терминалу. подсовываем ему прожигальщик пзу, и он зашивает в память (у нас флешка) воотлоадер чего-нибудь.

Работаем с OS VxWorks. Её bootloader после ресета лезет в сеть, забирает OS, загружает в ОЗУ. К ней по сети коннектится виндусовая оболочка с точками останова, watch, и тд. Она же грузит и наши аpplication.
undi
CrossStudio видит проц нормально только после перехода на быстрый кварц. Это приходится сразу прописывать в ресет-скрипте . Программа в срам грузится без проблем, да и выполняется тоже. Но вот какой-то гемор с ремапом и сбросом процессора. Так и не получается написать скрипт, чтоб все загружалось и работало автоматом. Если посмотреть скрипт от EB40A , то почему-то сброс процессора производят по переполнению WDT. И он там замечательно проходит, все грузится, запускается. Пытаемся повторить для AT91RM9200- одни косяки.
DIM
Цитата(undi @ Nov 24 2004, 11:17)
CrossStudio видит проц нормально только после перехода на быстрый кварц. Это приходится сразу прописывать в ресет-скрипте . Программа в срам грузится без проблем, да и выполняется тоже. Но вот какой-то гемор с ремапом и сбросом процессора. Так и не получается написать скрипт, чтоб все загружалось и работало автоматом. Если посмотреть скрипт от EB40A , то почему-то сброс процессора производят по переполнению WDT. И он там замечательно проходит, все грузится, запускается. Пытаемся повторить для AT91RM9200- одни косяки.
*

Подтверждаю. WIGGLER не работает.

Где то проходила инфа, что проблема в том, что проц стартует на 32768Гц
у WIGGLERA мин частота 4МГц/8 (я пользовался FLASH PROGRAMMER)

от же с PXA 255 проблем нет
undi
Цитата(DIM @ Dec 24 2004, 13:02)
Подтверждаю. WIGGLER не работает.

Где то проходила инфа, что проблема в том, что проц стартует на 32768Гц
у WIGGLERA мин частота 4МГц/8 (я пользовался FLASH PROGRAMMER)

от же с PXA 255 проблем нет
*


Ну в общем то проблему, так или иначе решили. Начиная с делителя на 5 работает и CW и FlashProgrammer, но ему опять же надо пару регистров заранее прописать, чтоб на бастрый кварц перешел.
DIM
[quote=undi,Dec 25 2004, 08:26]
[quote=DIM,Dec 24 2004, 13:02]Подтверждаю. WIGGLER не работает.


Ну в общем то проблему, так или иначе решили. Начиная с делителя на 5 работает и CW и FlashProgrammer, но ему опять же надо пару регистров заранее прописать, чтоб на бастрый кварц перешел.
*

[/quote]

попытка что-то не проходит

значение регистров - 0xFFFFFC20=0x0000FF01 (PMC_MOR)
значение регистров - 0xFFFFFC30=0x00000301 (PMC_MCKR)

инициализация именно в этой последовательности
говорит - кабель не присоединен.
проверил все варианты делителя

Может что-то еще надо записать. Хотя вроде этого достаточно
undi
function RM9200_Reset()
{
TargetInterface.setNSRST(0);
TargetInterface.delay(100);
TargetInterface.setICEBreakerBreakpoint(0, 0x0, 0xFFFFFFFF, 0x0, 0xFFFFFFFF, 0x100, 0xf7)
TargetInterface.setNSRST(1);
TargetInterface.waitForDebugState(1000);
TargetInterface.trst();

TargetInterface.pokeWord(0xFFFFFC20, 0x0000FF01); //start Main CLK
TargetInterface.delay(10); //delay for stabillization

TargetInterface.pokeWord(0xFFFFFC30, 0x00000001);

TargetInterface.pokeWord(0xFFFFFF00, 0x1); //remap
TargetInterface.trst();
}


У нас написано так, хотя уже сам не помню, что тут про что. Хотя коннект должен производиться еще до выполнения скрипта, с любым делителем. Другое дело, что если мало поделить - не грузит ни хрена. Еще во время экпериментов было обнаружено, что ntrst, в общем то не нужен, и если его отодрать, то подключается и через 14 пиновый виглер.
DIM
Цитата(undi @ Dec 27 2004, 15:56)
function RM9200_Reset()
{
  TargetInterface.setNSRST(0);
  TargetInterface.delay(100);
  TargetInterface.setICEBreakerBreakpoint(0, 0x0, 0xFFFFFFFF, 0x0, 0xFFFFFFFF, 0x100, 0xf7)
  TargetInterface.setNSRST(1);
  TargetInterface.waitForDebugState(1000);
  TargetInterface.trst();

  TargetInterface.pokeWord(0xFFFFFC20, 0x0000FF01); //start Main CLK
  TargetInterface.delay(10); //delay for stabillization
 
  TargetInterface.pokeWord(0xFFFFFC30, 0x00000001);

  TargetInterface.pokeWord(0xFFFFFF00, 0x1);  //remap
  TargetInterface.trst();
}


У нас написано так, хотя уже сам не помню, что тут про что. Хотя коннект должен производиться еще до выполнения скрипта, с любым делителем. Другое дело, что если мало поделить - не грузит ни хрена.  Еще во время экпериментов было обнаружено, что ntrst, в общем то не нужен, и если его отодрать, то подключается и через 14 пиновый виглер.
*


Спасибо огромное. До 2х записей допер, а вот все остальное - снимаю шляпу.
а как этот скрипт запихать во FLASH PROGRAMMER?
undi
Там в настройках самого проца можно прописать необходимые данные по нужным адресам.
DIM
Цитата(undi @ Dec 27 2004, 15:56)
function RM9200_Reset()
{
  TargetInterface.setNSRST(0);
  TargetInterface.delay(100);
  TargetInterface.setICEBreakerBreakpoint(0, 0x0, 0xFFFFFFFF, 0x0, 0xFFFFFFFF, 0x100, 0xf7)
  TargetInterface.setNSRST(1);
  TargetInterface.waitForDebugState(1000);
  TargetInterface.trst();

  TargetInterface.pokeWord(0xFFFFFC20, 0x0000FF01); //start Main CLK
  TargetInterface.delay(10); //delay for stabillization
 
  TargetInterface.pokeWord(0xFFFFFC30, 0x00000001);

  TargetInterface.pokeWord(0xFFFFFF00, 0x1);  //remap
  TargetInterface.trst();
}


У нас написано так, хотя уже сам не помню, что тут про что. Хотя коннект должен производиться еще до выполнения скрипта, с любым делителем. Другое дело, что если мало поделить - не грузит ни хрена.  Еще во время экпериментов было обнаружено, что ntrst, в общем то не нужен, и если его отодрать, то подключается и через 14 пиновый виглер.
*


Повторюсь. А как скрипт приделать к FLASH PROGRAMMER'у.
Или это для другой утилиты
undi
Цитата(DIM @ Dec 28 2004, 10:34)
Цитата(undi @ Dec 27 2004, 15:56)
function RM9200_Reset()
{
  TargetInterface.setNSRST(0);
  TargetInterface.delay(100);
  TargetInterface.setICEBreakerBreakpoint(0, 0x0, 0xFFFFFFFF, 0x0, 0xFFFFFFFF, 0x100, 0xf7)
  TargetInterface.setNSRST(1);
  TargetInterface.waitForDebugState(1000);
  TargetInterface.trst();

  TargetInterface.pokeWord(0xFFFFFC20, 0x0000FF01); //start Main CLK
  TargetInterface.delay(10); //delay for stabillization
 
  TargetInterface.pokeWord(0xFFFFFC30, 0x00000001);

  TargetInterface.pokeWord(0xFFFFFF00, 0x1);  //remap
  TargetInterface.trst();
}

У нас написано так, хотя уже сам не помню, что тут про что. Хотя коннект должен производиться еще до выполнения скрипта, с любым делителем. Другое дело, что если мало поделить - не грузит ни хрена.  Еще во время экпериментов было обнаружено, что ntrst, в общем то не нужен, и если его отодрать, то подключается и через 14 пиновый виглер.
*


Повторюсь. А как скрипт приделать к FLASH PROGRAMMER'у.
Или это для другой утилиты
*


Это для кроссворкс, у флэш программера просто в регистрах прописать надо.
dch
Цитата(xoms @ Nov 24 2004, 06:51)
Сам проц умеет згружать и запускать любой код по х-терминалу. подсовываем ему прожигальщик


Пример такой утилитки: по x-терминалу
http://www.ucrouter.ru/download/AT91RM9200-29lv160d.bin
d__
Цитата(dch @ Feb 19 2005, 05:44)
Цитата(xoms @ Nov 24 2004, 06:51)
Сам проц умеет згружать и запускать любой код по х-терминалу. подсовываем ему прожигальщик


Пример такой утилитки: по x-терминалу
http://www.ucrouter.ru/download/AT91RM9200-29lv160d.bin
*


Не пугайте народ! Он и так сильно напуган. Не x-терминал, а х-модем!
dch
Цитата
, а х-модем!

Точно, по x-терминалу трудно чтото грузить
Runner
Тема давняя, но, надеюсь, актуальность не потеряла.
Удалось кому-то раскрутить 9200 в ИАРе через Виглер на поработать?
Готовлю тулзы под Атмел АРМ: есть ИАР, сделать виглер можно - не понятно нужно ли - будут они работать с Атмелом или все-таки надо брать КроссВоркс?
Присоветуйте, пожалуйста.
Сколько стоят (в $) МТ или J-Link? Что бы наверняка.
AlexBoy
Цитата(Runner @ Mar 27 2006, 11:27) *
Тема давняя, но, надеюсь, актуальность не потеряла.
Удалось кому-то раскрутить 9200 в ИАРе через Виглер на поработать?


У меня с виглером заработал ADS 1.2 через RDI сервер H-JTAG, возможно и в ИАР есть возможность подключать к отладчику RDI модули. Вобщем H-JTAG работает очень быстро.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.