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

 
 
 
Reply to this topicStart new topic
> PowerPC + Wiggler, Отладка через JTAG
Dimentius
сообщение Nov 14 2007, 15:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980



Господа, помогите убогому.
В наличии платка с AMCC 440Ep. На платке для отладки разведен JTAG(4 сигнала).

Возможно ли записать/считать подсоединенную через EBC проца флешку через Wiggler?
Если да, то какой программой?

Сходу попробовал FlashProgrammer от "Macraigor", что-то не получилось..
Go to the top of the page
 
+Quote Post
Gothard
сообщение Nov 30 2007, 12:29
Сообщение #2


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Тоже мучаем сейчас с AMCCшный 440 проц, правда PPC440EPx
И как раз macraigorским FlashProgrammerом и по Wigglerу.

Есть кит Sequoia и своя плата. кабель подключаем также - 4 стандартные сигнала

На ките FlashProgrammer "вроде-бы" работает
Работает и старая версия программера, где 440EPx не упоминается, но там выбираем 440Gx, правда иногда при записи во флэшку бывают ошибки
Новой версией программера поначалу писать на ките не пробовали, только читали - вроде бы все было ок (использовали OCD файл под этот кит, который (файл) в месте с программером поставляется, да и с созданным "с нуля" тоже пробовали - работало). Но вот сегодня попробовали записать - чет проц не останавливается (бум разбираться) и даже не читается... но это кит...

На нашей плате JTAG поначалу работал очень нестабильно (пытались приостановить проц - не всегда удавалось), причем после выполнения по JTAGу сброса проца, тот переставал останавливаться и вообще дальше вел себя неадекватно (проверяли macraigrosким OCD Commanderом - неплохая тулза)
Нашли одно отличие платы от кита - на плате системный клок 40МГц, на ките 33МГц. Заменили на плате 40 на 33 МГц - JTAG заработал, но флэшпрограммер (новый, в котором есть этот проц) вылетал.
Далее тюнили OCD файл под нашу платку (у нас память DDR, на ките DDR2) - прописали соответствующие регистры проца как надо - все равно вылетает. методом исключения определили что программер рушится при записи секции TLB - пришлось пока отключить, вроде как у проца по-умолчанию (после сброса) 4кбайтный кусок задан.
Настроили тайминги на периферийной шине - флэш начала писаться, но вот только кусками по 1кбайта sad.gif.
Проблема врядли с адресами - прописываем по 1кбайту последовательно несколько блоков флэшки - читаем обратно - все блоки записаны как надо, но то что флэшпрограммер дает ошибку при записи больше 1кбайта не есть гуд... вот что-то фонтан пока иссяк, а 512кбайт писать по кбайту не радует... думаю, не в софте ли дело? (ведь мы новую версию программера на запись на ките так и не успели опробовать)

Кто-нить сталкивался с подобным?

P.S.: То что программер на ките запускался сразу объяснили - проц грузился из флэши (там то она уже прописана) и настраивал свои регистры как надо, в т.ч. TLB. Вырубили загрузку проца из флэшки и программер тоже начал вылетать, т.е. догадка верная.

P.P.S: Старой версией программера на своей платке пока не писали - ща будем пробовать....

P.P.P.S: 2 Dimentius:
Вроде бы Flashprogrammer и wiggler должны тебе помочь - может есть какие грабли как в нашем случае? (А у тебя с лицензией все ок? а то он без лицензии не пишет)
Go to the top of the page
 
+Quote Post
Dimentius
сообщение Dec 2 2007, 17:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980



Отпишитесь по результатам

Хорошо было бы, если работает.. а на счет лицензионности (шаркает ножкой), он как бы пропатчен.. на жадность
Go to the top of the page
 
+Quote Post
Gothard
сообщение Dec 6 2007, 09:47
Сообщение #4


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Что-то с флэшпрограммером пока глухо - надо срочно завершать работу, поэтому поступи следующим образом:
программируем флэш при помощи Macraigor OCD Commander (он бесплатный)
OCD Commander дает самые элементарные функции наладки проца по JTAGу - в общем практически отладчик. Все что нам надо - писать регистры проца, писать и читать область памяти - в проге это есть. А главное - там можно запустить макрос из последовательности комманд.
Работаем все также по виглеру.

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

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

Для создания макроса написали программулину (ясен пень не руками ж его набирать)
Для записи 3 секторов (загрузчик) получился 25 мегабайтный! макрос, выполнялся часов 5....
После того как исключили запись "FFFF" (флэшка NOR) и в макросе стали делать буферизованную запись во флэш - объем/время сократились до 3 мбайт/30 минут, так что уже более менее можно работать. Сейчас мучаем загрузчик - что-то там не так. Как только заработает - всю остальную флэшку из загрузчика прошьем по TFTP.

Кстати - таким же образом можно и дамп флэшки делать (и работать дамп будет гораздо быстрее), правда надо еще log парсить smile.gif ну это дело техники

Интересно, что получилось халявно без нарушения лицензий smile.gif (флэшпрограммер то у нас тоже "патченный" smile.gif)

если интересен пример скрипта - пишите в личку
а в общем в нем всего две рабочих команды:
DCR для записи Device Control Registers
HALF для доступа к памяти (у нас шина 16-разрядная)

К флэшпрограммеру может еще вернемся когда(если) время будет. Мы его пока только для стирания флэхи используем smile.gif (макрос лень писать)

2 Dimentius: у нас проц PPC440EPx, но думаю с твоим тоже сработает как надо (тем более, что в OCD Commandere PPC440EPx нет в списке поддерживаемых процов, так что брали PPC440GX и все арбайтен. А твой там есть)
Удачи
Go to the top of the page
 
+Quote Post
Dimentius
сообщение Jul 21 2008, 16:15
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 27-09-05
Пользователь №: 8 980



Пришлось на прошлой неделе вернуться к этому вопросу.
Скачал новый "Flash Programmer" и "OCD Commander".

Как здесь уже писали, при работе с wiggler-ом проблемы у "Flash Programmer-а" в постоянном срыве из режима отладки в "running" и ограничении в 1024 байта при записи. Пришлось от него отказаться.
"OCD Commander" повел себя более достойно и адекватно. Правда перспектива заливать "U-Boot" десятками минут немного расстраивала.
Поэтому решил поступить по другому:
Написал на асме маленькую программу в линейном коде без всяких вызовов, которая перекладывает данные из одной области памяти в другую, согласно протоколу работы с NOR-flash 28F128J3 от "Intel"(эта память стоит на моей плате). Подготовил "U-Boot" для моей платки(размер составил 2 сектора флешки). Преобразовал оба файла в формат s-records с адресами в Ram ("U-Boot" - 0x01000000, программки - 0x01060000), выгрузил через "OCD Commander" и запустил код по переносу данных.
В результате программирование "U-Boot" составило около 30 сек.
Думаю, что подобным образом можно сделать на любой платформе.
Прикрепляю свой код для примера. Всем удачи.
Прикрепленный файл  uboot_bootloader.zip ( 92.09 килобайт ) Кол-во скачиваний: 171
Go to the top of the page
 
+Quote Post
Gothard
сообщение Jul 23 2008, 09:41
Сообщение #6


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

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Очень хорошее развитие идеи smile.gif, особенно с подробным примером a14.gif
У нас пока больше 2-х плат не было sad.gif - так что вопрос о скорости пока даже не возникал
Go to the top of the page
 
+Quote Post

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

 


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


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