|
|
  |
Wiggler RDI Keil IAR путаница!, помогите привести мысли в порядок :) |
|
|
|
Apr 5 2006, 07:57
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
Вообщем из железа есть продукты OLIMEX плата на LPC2148 и их клон wiggler ARM-JTAG. Все заработало в Crossworks, но в нем я не нашел процессора LPC2148, пришлось использовать LPC2138. Теперь хотелось бы запустить KEIL и IAR. Я так понял wiggler с ними должен работать посредством RDI драйвера. Первый из них это H-JTAG. Он подсоеденился. В KEIL я указал использовать для отладки RDI, но работать KEIL отказался, хотя в трее иконка H-JTAG показывала активность. Далее есть вариант через OCD commander. Я его установил, подключение сделал. Но он как бы не включает в себя RDI драйвер, по форуму понял что нужен какой-то еще плагин для KEIL и IAR, но названия не нашел. Вообщем хотелось бы узнать полные связки софта, которые используются, чтобы подружить Wiggler с Keil и IAR. На форуме часто встречается просто названия типа ставьте RDI потом плагин и все. А чей драйвер конкретно ставить, какой плагин, и где их найти нигде не указано  Если кто-нибудь опишет конфигурацию уже работаюшего у себя набора софта, то отдельно скажу спасибо  Так же есть вопрос по поводу того, как мне прошить ARM через wiggler если у меня уже есть HEX или ELF файл? Например для PIC я грузил HEX файл в оболочку программатора и он уже прошивал процессор. А с ARM я пока вижу только возможность залить прошивку из среды разработки. А на каком этапе решается результат для RAM или ROM будет? Т.е. я правильно понял, что после сборки проекта в выходных файлах HEX или ELF уже имеется вся раскладка по каким адресам какие данные должны лежать? судя по map файлу это так. А какие принципиальные отличия Wiggler JTAG от разных USB-JTAG? пока я нашел только то, что Wiggler не позволяет ставить брекпоинты во FLASH. А почему так? Неужели комп через LPT не может так же ожесточенно ножками дрыгать, как USB вариант через внутренний проц? А если я приобрету MT-LINK или JetLINK проблемы с подключением к KEIL и IAR отпадут и я получу полнофункциональный отладчик? Вот вроде и все. Вопросы может и детские, но из-за наличия разных сред, драйверов и программаторов возникает путаница, к решению которой даже не знаешь откуда подойти. FAQ что в этой ветке в начале читал, но мало в нем нашел о бодключении.
|
|
|
|
|
Apr 5 2006, 08:45
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(zuy @ Apr 5 2006, 10:57)  Первый из них это H-JTAG. Он подсоеденился. В KEIL я указал использовать для отладки RDI, но работать KEIL отказался, хотя в трее иконка H-JTAG показывала активность. А H-JTAG процессор определяет? Т.е. связь с процессором есть? В кейле путь до dll укзан? Когда пользовался виглером и H-JTAG-ом у меня все более менее работало. Цитата(zuy @ Apr 5 2006, 10:57)  Так же есть вопрос по поводу того, как мне прошить ARM через wiggler если у меня уже есть HEX или ELF файл? Через виглер флешку не прошьете, либо ищите что-то помимо H-JTAG, либо через филипковскую утилитку и ком-порт. Цитата(zuy @ Apr 5 2006, 10:57)  я правильно понял, что после сборки проекта в выходных файлах HEX или ELF уже имеется вся раскладка по каким адресам какие данные должны лежать? судя по map файлу это так. Правильно. А куда пихать в РАМ или РОМ вам решать. Цитата(zuy @ Apr 5 2006, 10:57)  А какие принципиальные отличия Wiggler JTAG от разных USB-JTAG? пока я нашел только то, что Wiggler не позволяет ставить брекпоинты во FLASH. А почему так? Неужели комп через LPT не может так же ожесточенно ножками дрыгать, как USB вариант через внутренний проц? Дело не в гусях, драйвер надо писать под виглер, который бы все это позволял. Цитата(zuy @ Apr 5 2006, 10:57)  А если я приобрету MT-LINK или JetLINK проблемы с подключением к KEIL и IAR отпадут и я получу полнофункциональный отладчик? И сможете и прошивать и точки останова во флешь писать и ...
|
|
|
|
|
Apr 5 2006, 11:45
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
Цитата(iit @ Apr 5 2006, 11:45)  А H-JTAG процессор определяет? Т.е. связь с процессором есть? В кейле путь до dll укзан? Когда пользовался виглером и H-JTAG-ом у меня все более менее работало. Да, H-JTAG определяет какой процессор. В Keil я указываю использовать RDI, и выбираю H-JTAG.dll. галочки Cache code и Cache memory не ставлю. Стоит галка Load Application at startup. Run to Main не сотит, т.к. с ней сразу ошибка о невозможности поставить брекпоинт, я так понял потому-что wiggler не позволяет в ROM брекпоинты ставить. Но пусть он не ставит там брекпоинты, но он же должен записать мою прогу во флеш и запустить ее. А получается так, что Keil показывает, что код исполняется, иконка H-JTAG дрыгается, но девайс ничего не делает, и после ресета в нем запускается старая программа. Я так думаю, что через wiggler в средах Keil и IAR я могу получить использую RDI драйвер следующую функциональность: 1. Загрузка программы во флеш и RAM. 2. Пошаговый проход+брекпоинты только в RAM (это основное отличие от USB вариантов JTAG) 3. Весь сопутствующий отладке сервис типа просмотр памяти, регистров и т.д. Еще хотелось бы узнать про драйвера RDI для Wiggler кроме H-JTAG, есть ли что-нить подходящее для спаривание wiggler с Keil или IAR ?
|
|
|
|
|
Apr 5 2006, 12:47
|

Мастер
   
Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474

|
Несколько тезисов: 1. IAR и Wiggler скрещиваются без RDI, напрямую. Но должен быть установлен драйвер для Wiggler (устанавливается, при инсталляции, например, OCD Commander'а от Macraigor). 2. Насчет прошить флеш с помощью IAR -- я так понял, что это невозможно. Можно прошивать Flash Programmer'ом, который качается с www.macraigor.com и лечится кейгеном, который можно найти на многих тематических (читай хакерских) сайтах. 3. Насчет загрузки программы в RAM, бряков, пошаговой отладки, просмотра памяти/регистров верно.
Keil скрещивать с Wiggler никогда не пробовал, поэтому не знаю. ИМХО не стоит этим заниматься, проще взять ULink уж тогда. Я специально выбрал IAR EWARM только потому, что он поддерживает Wiggler напрямую, а Wiggler можно просто собрать самостоятельно.
--------------------
شامل
|
|
|
|
|
Apr 5 2006, 13:07
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
Цитата(Edmundo @ Apr 5 2006, 15:47)  Несколько тезисов: 1. IAR и Wiggler скрещиваются без RDI, напрямую. Но должен быть установлен драйвер для Wiggler (устанавливается, при инсталляции, например, OCD Commander'а от Macraigor). Это имеется ввиду в IAR в настройке проекта тип отладчика выбрать Macgraigor, а потом в одноименном пункте OCD interface device выбирать wiggler? Драйвер который с OCD comander ставится IAR сам найдет? Т.к. обьем RAM много меньше FLASH прокатит ли такая схема, что код не требующий отладки компилится для FLASH, а там где отладка нужна ф-ции помечаются, как требующие расположения в RAM и там отлаживаются. А потом релиз весь компилится для FLASH и туда помещается для уже окончательной работы изделия? А т.к. crossworks без проблем отлаживает и шьет FLASH можно ли уже итоговый ELF или HEX файл из IAR с его помошью залить во флешку?
|
|
|
|
|
Apr 5 2006, 13:35
|

Мастер
   
Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474

|
Цитата(zuy @ Apr 5 2006, 17:07)  Это имеется ввиду в IAR в настройке проекта тип отладчика выбрать Macgraigor, а потом в одноименном пункте OCD interface device выбирать wiggler? Драйвер который с OCD comander ставится IAR сам найдет? Совершенно верно. Цитата(zuy @ Apr 5 2006, 17:07)  Т.к. обьем RAM много меньше FLASH прокатит ли такая схема, что код не требующий отладки компилится для FLASH, а там где отладка нужна ф-ции помечаются, как требующие расположения в RAM и там отлаживаются. А потом релиз весь компилится для FLASH и туда помещается для уже окончательной работы изделия? Так я не пробовал. Я для отладки делаю конфигурацию, по которой все линкуется в RAM; и "релизную" конфигурацию, где все во flash. Комбинированно не пробовал, но думаю, что должно прокатить. Цитата(zuy @ Apr 5 2006, 17:07)  А т.к. crossworks без проблем отлаживает и шьет FLASH можно ли уже итоговый ELF или HEX файл из IAR с его помошью залить во флешку? Crossworks не юзал -- врать не буду  Но если он кушает ELF и HEX и шьет flash -- то проблем быть не должно. Только в случае использования Crossworks наверное целесообразно его использовать и для отладки, благо с Wiggler он дружит (может, даже лучше, чем EWARM).
--------------------
شامل
|
|
|
|
|
Apr 6 2006, 04:50
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 8-11-04
Из: Томск
Пользователь №: 1 070

|
Цитата(zuy @ Apr 5 2006, 14:45)  А получается так, что Keil показывает, что код исполняется, иконка H-JTAG дрыгается, но девайс ничего не делает, и после ресета в нем запускается старая программа. Залейте программу через филиповскую утилиту (LPC Flash Loader), а опциях Keil'а уберите прошивку программы через RDI (ну не заливает виглер код во флеш через RDI) и все будет в ажуре.
|
|
|
|
|
Apr 6 2006, 07:51
|
Местный
  
Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490

|
Цитата(zuy @ Apr 5 2006, 10:57)  Теперь хотелось бы запустить KEIL и IAR. Я так понял wiggler с ними должен работать посредством RDI драйвера. Первый из них это H-JTAG. Он подсоеденился. В KEIL я указал использовать для отладки RDI, но работать KEIL отказался, хотя в трее иконка H-JTAG показывала активность. Скачай новую версию H-JTAG (02.04.06), у меня отладка заработала, правда постоянно вываливается сообщение "data abort", но на процесс отладки это не влияет.
Сообщение отредактировал abcdefg - Apr 6 2006, 07:54
|
|
|
|
|
Apr 6 2006, 12:10
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
Цитата(iit @ Apr 6 2006, 07:50)  Цитата(zuy @ Apr 5 2006, 14:45) 
А получается так, что Keil показывает, что код исполняется, иконка H-JTAG дрыгается, но девайс ничего не делает, и после ресета в нем запускается старая программа.
Залейте программу через филиповскую утилиту (LPC Flash Loader), а опциях Keil'а уберите прошивку программы через RDI (ну не заливает виглер код во флеш через RDI) и все будет в ажуре. Да вот с philips утилитой есть проблема. В списке поддерживаемых процов нет 2148, но судя по даташитам, по памяти он аналогичен 2138, так что можно его пробовать. А что хуже, так то, что я судя по всему слажал, и в процессе экспериментов стер флеш проца. Так что я понимаю, что загрузчика там уже может и не быть  Проверить точно не могу т.к. нету кабеля. А если его я действительно стер, есть вариант вернуть назад? Так а если wiggler не заливает код во флеш, то единственный способ писать проги больше чем обьем ОЗУ, это отлаживать их в симуляторе и потом шить филипсовской утилитой? Т.е. никакой внутрисхемной отладки больших прог? Жаль, придется все таки USB-JTAG покупать.
|
|
|
|
|
Apr 6 2006, 13:47
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593

|
А вот например в IAR для того чтобы переключать компиляцию для RAM и ROM, я подставляю для нужного профиля соответствующий файл XCL, где расписано куда какие данные линкеру ложить. Это правильно? Есть ли какой-нибудь способ такого переключения не указывая явно XCL файл? А то получается, что для каждого процессора я должен сам писать его ручками, если в IAR можно выбирать для какого процессора компилить, то почему с ним по умолчанию и не выбирается раскладка памяти для нужного процессора?
Я пробовал в настройках линкера не ставить галочку overwrite default, там где выбираешь XCL файл, так при компиляции, если я хочу использовать startup файл, который идет с примерами IAR для LPC, получаю ошибку линкера: Fatal Error[e72]: Segment ABT_STACK must be defined in a segment definition option (-Z, -b or -P)
Вообшем-то понятно что она говорит, и параметры определяюшие ABT_STACK прописаны в XCL из тех же примеров.
Но как тогда правильно начать проект в IAR? Мастер создает проект без startup. Я должен сам написать его? Если беру из примеров, то и раскладку памяти приходится оттуда же брать. Что-то мне кажется, я работу мастеров руками делаю, или в IAR по-другому никак?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|