|
|
  |
Работа с ПЛИС, фирмы Actel |
|
|
|
Jan 20 2011, 12:16
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Добрый день! Добрался до процессора Cortex-m3 SmartFusion™ Evaluation Kit (A2F-EVAL-KIT) вопросы следующие: 1. Как получить файл (в SoftConsole) прошивки флешки процессора для FlashPro? Пока только получается прошивать флэшку через линкер -T../CMSIS/startup_gcc/debug-in-actel-smartfusion-envm.ld самого SoftConsole т.е. через debug, что не очень удобно! В папке MSS_ENVM_0, в директории проекта лежит один .efc но он пустой и SoftConsole никак не влияет на него!!! 2. Никак не могу разобраться с адресацией во внешнюю память!!! Беру проект SmartFusion_Accessing_Ext_Mem_Using_EMC_DF с примеров! запускаю и вот какая картина:
Т.е. что не пиши по адресам так и остаются данные 0хFFFFFFFF, а на обращение к флэши процессор останавливается!! Просто мы используем процессоры в которых происходит 32х разрядная адресация и обращения делали примерно так for(i=0x00900000; i<0x00980000; ++i) { *((unsigned int*)i)=Данные; } Тут же получается байтовая адресация? т.е. 32х разрядное слово "пишется" по 4м адресам? следовательно выше приведенный код не годится? Код же приведенный в примере у меня не получилось запустить!! Может кто подскажет в чем дело!
|
|
|
|
|
Feb 27 2011, 16:59
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-01-11
Пользователь №: 62 196

|
Здравствуйте уважаемые! Не так давно выдался случай сделать проектик на ПЛИС. Выбрали для своих целей Actel ProASIC3 + FlashPro4+Libero 9.1. Проблема следующая: На этапе прошива ПЛИС возникает ошибка. Программатор определяется, erase выполняется verify_device тоже. Вот логи:
programmer '60340' : Scan Chain... programmer '60340' : Scan Chain PASSED. programmer '60340' : Executing action PROGRAM_ARRAY programmer '60340' : EXPORT FSN[48] = 80e95b446840 programmer '60340' : Erase FPGA Array ... programmer '60340' : Programming FPGA Array programmer '60340' : Verifying FPGA Array programmer '60340' : Verify 0 failed at row 2299. programmer '60340' : EXPORT ERROR_CODE[16] = 805a programmer '60340' : Finished: Fri Feb 25 11:40:12 2011 (Elapsed time 00:00:30) Error: programmer '60340' : Executing action PROGRAM_ARRAY FAILED, EXIT 11, refer to FlashPro online help for details.
o - o - o - o - o -
по коду ошибки в хэлпе вместо прямого решения, как для остальных ошибок, написанно: Device exit code 0x805A 0x805C 11 Verify 0 failed at row",rowNumber,"."
Verify 1 failed at row",rowNumber,"." Contact Actel Technical Support
Вот пример как проходит verify_device_info programmer '60340' : Scan Chain... programmer '60340' : Scan Chain PASSED. programmer '60340' : Executing action VERIFY_DEVICE_INFO programmer '60340' : EXPORT FSN[48] = 80e95b446840 programmer '60340' : EXPORT IDCODE[32] = 32a141cf programmer '60340' : CHECKSUM: 762F programmer '60340' : Design Name: PK16_PK17 programmer '60340' : Finished: Fri Feb 25 13:03:29 2011 (Elapsed time 00:00:00) programmer '60340' : Executing action VERIFY_DEVICE_INFO PASSED.
Кто что может подсказать по данной ситуации? Заранее спасибо за ответ!
Сообщение отредактировал nochoice - Feb 27 2011, 17:01
|
|
|
|
|
Mar 3 2011, 09:04
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-01-11
Пользователь №: 62 196

|
VPUMP пробовал брать с платы и с Flashpro4. Эффект одинаковый. Напряжение есть в пределах 3,2-3,4 В. Рекомендательные элементы поставил куда нужно. Напряжение ядра выставленно на 1,5В. Кстати я так и не понял куда "специальная" нога (Program mode) заводится на саму ПЛИСку, я ее на землю кинул, т.к. сомневался в ее нужности.
|
|
|
|
|
Mar 5 2011, 05:12
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Эта "специальная" нога нужна для того чтобы переключать источник питания с 1,2 на 1,5 В при программировании (для ProAsic3L и IGLOO). На ПЛИС ее заводить не нужно. Если не используете то можно оставить висеть в воздухе, а если сажаете на землю то нужно это делать через резистор, т.к. это выход (если честно не знаю открытый коллектор или нет)!
А что вы зашиваете в ПЛИС? Свой проект? Пробовали создать простой счетчик и зашить? Ну и чтобы вести предметный разговор выложите хоть схемку JTAG, а если не жалко то и всю. А то будем долго играть в угадайку...
|
|
|
|
|
Mar 15 2011, 16:05
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-01-11
Пользователь №: 62 196

|
Спасибо за помощь. Все заработало. Оказалось, что был неисправен стабилизатор. Добрались руки снова померять все по человечески и ошибка сама собой нашлась.
|
|
|
|
|
Jul 21 2011, 06:35
|
Знающий
   
Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939

|
Как определить спидгрейд микросхемы ProAsic3L (std или -1) по маркировке на корпусе? Что на нем написано: Цитата Actel l (тут не пойму то ли буква, то ли еденица) ProASIC 3 A3P600L PQ208 0953 QHTHL PHILIPPINES
|
|
|
|
|
Sep 21 2011, 14:02
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871

|
Работаю с Cortex M1 на актелевской Demоплате с M1ProAsi3L Пытаюсь запрограммировать внешнюю Flash (JS28F640). При однократной последовательности записи во Flash (0x40, а затем байт или слово в записывамый адрес ) происходит запись во все четыре байта 32 разрядного слова одинакового значения равного значению младшего байта. При этом два младших разряда адреса игнорируются. При любых комбинациях записывается один и тот же байт. При увеличении адреса на 4 записываются следующие четыре байта, опять же одинаковым значением, равным значению младшего байта новой записываемой величины. Как записать 4 разных байта? Прилагаемая к киту программа MemoryLoaderM1 программирует флеш нормально, но к ней нет исходников.
Сообщение отредактировал adax - Sep 21 2011, 14:27
|
|
|
|
|
Sep 22 2011, 08:05
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871

|
Цитата(gosu-art @ Sep 22 2011, 07:44)  Вы используете IP CoreMemCtrl ? Попробуйте поиграться с настройками адресации. http://www.actel.com/ipdocs/CoreMemCtrl_HB.pdfСпасибо, этот документ знаем, хотя скорее всего недостаточно глубоко. Но я пытаюсь написать программатор флеши, который для начала бы работал именно на стандартной конфигурации от Actel-я, которая сейчас загружена в кристалл и на которой работает прилагаемая к плате(но без исходников) программа MemoryLoader. Она программирует флеш нормально, значит дело не в конфигурации CoreMemCtrl. Цитата(gosu-art @ Sep 22 2011, 07:44)  Если не секрет, на какой частоте у вас получилось поднять CortexM1? Пока работаем на той частоте, что установлена на демоплате(16MHz)
|
|
|
|
|
Sep 22 2011, 10:30
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871

|
Цитата(gosu-art @ Sep 22 2011, 13:22)  Можно попробовать объединять байты в группы по 4 и писать уже 32х разрядное слово. Либо экспериментировать с адресацией. В том и непонятка, что при записи 32р слова его младший байт пишется во все 4 байта.
|
|
|
|
|
Sep 26 2011, 09:28
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 25-12-10
Пользователь №: 61 871

|
Решено, проблема была в том, что указатель был объявлен 8-ми разрядным, а оные как указано в datasheet-е на контроллер памяти для flash памяти не поддерживаются. При замене указателя на 32-ух разрядный все заработало правильно.
|
|
|
|
|
Sep 30 2011, 09:27
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 5-05-11
Пользователь №: 64 802

|
Добрый день, форум. Я работаю с ProASIC3 и прошивается она программатором FlashPro4. С ним то и возникли какие-то трудности. Хотел запустить self-test на программаторе, но для этого по описанию нужна некая loopback test board. Если кто-то в курсе подскажите плиз, что она из себя представляет, чтобы мне её приобрести или сделать.
Ещё вопрос: бывало ли у вас такое, что программаторы только-что купленные в актел отказывались работать или сгорали по неосторожности обращения. интересно такое вообще возможно ?
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|