Перейти к содержанию
    

Генерация hex данных для прошивки EPCQ через ASMII PARALLEL II

Форумчане, привет =)

Пытаюсь побороть корку ASMII PARALLEL II, подымал я ее подымал, симулировал, симулировал. Да тут пришла идея, раз у корки есть Avalon, посадил я его прямиком на PCIe на BAR. И надо же, флэшка epcq подрубилась на  BAR и я ее спокойно вижу и просматриваю содержимое в команндоре.
Прям чудо решение. 
Решил я прям с драйвера своего закатать в нее новую прошивку.

1) Для этого, я открыл ее содержимое и начал подбирать hex данные, которые бы совпадали с текущим содержимым. Для этого я открыл pof, посмотрел его hex, вроде то, да не то. Вроде прям регионами совпадает с hex BAR флэшки, да не очень.
2) Сгенерил RPD. Вроде то, да не то. Точно так же.

Может подскажите верный путь, кто знает. Как данные правильно сгенерировать для этой корки. Мануал естественно проштудировал. Инфы нет.
Заранее спасибо.

ps. Флэшка сидит на конфиге ASx4, если это важно.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока думаю, что у Авалонов клоки разные. ASMI работает максимум на 50Mhz, pcie корка на 250MHz. Пробую bridge clock воткнуть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня загрузчик льёт на EPCQ *.rpd файл, но предварительно в каждом байте зеркалит биты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 minutes ago, doom13 said:

У меня загрузчик льёт на EPCQ *.rpd файл, но предварительно в каждом байте зеркалит биты.

спасибо. Я примерно уже понял, что rdp.

У меня теперь проблема, что через pcie bar отображаются не правильно байты с epcq. Правильная расстановка клоков решила другие проблемы, но не эту. Думаю что проблема в том, что нужно выставить 4-байтную адресацию. Пытаюсь проверить. Так если в битах смотреть дамп флэшки через pcie bar, то видно что биты совпадают большими кусками, но местами сдвинуто. Вроде в даташите по флэшки и сказано, что как раз режим адресации может напортачить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Специалисты, может подкинет кто идею. Борюсь с идеей, чтобы посадить EPCQ256 на PCIE и просматривать и писать в нее прям через BAR. Очень удобно. Идея мне очень нравится. Идут проблемы.
Основная проблема - когда я просматриваю флэшку с драйвера pcie, структура данных (как записаны страницы во флэшке) полностью совпадают. Но он вот значения байт совершенно не то.

Что я сделал.

1) Ну во первых у меня корка pci avalon-mm 256bit
2)  Для epcq я использую корку Asmi Parallel II (корка для прямого доступа к флэшке через интерфейс Aavalon)
3)  Я думал, что я сейчас эти авалоны (BARx ----> asmi) соединю и все само пойдет.
4) Так же на отдельный BAR посадил регистры корки epcq, тут все хорошо. Пишу, читаю прям по pcie в них, все реагирует.
5) Думал проблема, что клоки корок разные (250Mhz против 50Mhz epcq). Поставил Avalon Crossing Bridge. Не помогло
6) При этом пишу в BAR, там во флешке запись проходит, но не то что прописал. То при чтении/записи где то портятся данные.

Посмотрел как работает  epcq, уж многовато тактов она обрабатывает запись. ПОдумал авалоны захлебываются. В Avalon Crossing Bridge поднял размеры внутренних промежуточных FIFO. Пока никак. Правда сейчас буду ставить максимальное значение и пробовать.

Может кто то пробовал, на быструю pcie повесить более медленную avalon. Или может кто то уже вешал внешнюю память на pcie. Буду рад любому совету. Уж очень хочется такое решение. Может поэтому CVP только на GEN1 пашет

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да уж. Разобрался мужики. Дело в little endian -> big endian

Если сгенерировать rpd по big endian, то данные во флэшке 1 в 1

 

Вдруг кто захочет так же зашить epcq по pcie прям с драйвера

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, doom13 said:

но предварительно в каждом байте зеркалит биты.

блин, спасибо вам большое, я не сразу вчитался что вы имели ввиду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, new123 said:

Да уж. Разобрался мужики. Дело в little endian -> big endian

Если сгенерировать rpd по big endian, то данные во флэшке 1 в 1

 

Вдруг кто захочет так же зашить epcq по pcie прям с драйвера

Ооо, прикольно, есть такая опция? Надо попробовать, у меня  бедняга Ниос это все лопатит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, doom13 said:

Ооо, прикольно, есть такая опция? Надо попробовать, у меня  бедняга Ниос это все лопатит.

в конвертере квартуса, по кнопочке Option/Boot Info там ставится endian . Если выбрать rpd

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прикольно, проверил, работает! Спасибо, что-то я эту опцию пропустил)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...