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

Добрый день! Добрался до процессора 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 с примеров! запускаю и вот какая картина:

post-52939-1295524464_thumb.jpg

 

Т.е. что не пиши по адресам так и остаются данные 0хFFFFFFFF, а на обращение к флэши процессор останавливается!!

 

Просто мы используем процессоры в которых происходит 32х разрядная адресация и обращения делали примерно так

 

for(i=0x00900000; i<0x00980000; ++i)

{

*((unsigned int*)i)=Данные;

}

 

Тут же получается байтовая адресация? т.е. 32х разрядное слово "пишется" по 4м адресам? следовательно выше приведенный код не годится? Код же приведенный в примере у меня не получилось запустить!! Может кто подскажет в чем дело!

 

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


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

Здравствуйте уважаемые! Не так давно выдался случай сделать проектик на ПЛИС.

Выбрали для своих целей 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

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


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

Откуда VPUMP берете с FlashPro или с платы? Напряжение на пине есть? Ставили кондеры как в рекомендации? Какое напряжение ядра? Просто когда я игрался с ProASIC3L у меня было 1,2в -тоже не программировался...на 1,5 пошло. Сейчас на ФлэшПро4 есть специальная нога для переключения источника питания на 1,5В.

По теме...

http://electronix.ru/forum/index.php?showt...mp;hl=flashpro4

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


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

VPUMP пробовал брать с платы и с Flashpro4. Эффект одинаковый. Напряжение есть в пределах 3,2-3,4 В. Рекомендательные элементы поставил куда нужно. Напряжение ядра выставленно на 1,5В.

Кстати я так и не понял куда "специальная" нога (Program mode) заводится на саму ПЛИСку, я ее на землю кинул, т.к. сомневался в ее нужности.

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


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

Эта "специальная" нога нужна для того чтобы переключать источник питания с 1,2 на 1,5 В при программировании (для ProAsic3L и IGLOO). На ПЛИС ее заводить не нужно. Если не используете то можно оставить висеть в воздухе, а если сажаете на землю то нужно это делать через резистор, т.к. это выход (если честно не знаю открытый коллектор или нет)!

 

post-52939-1299301505_thumb.jpg

 

А что вы зашиваете в ПЛИС? Свой проект? Пробовали создать простой счетчик и зашить?

 

Ну и чтобы вести предметный разговор выложите хоть схемку JTAG, а если не жалко то и всю. А то будем долго играть в угадайку...

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


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

Спасибо за помощь. Все заработало. Оказалось, что был неисправен стабилизатор. Добрались руки снова померять все по человечески и ошибка сама собой нашлась.

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


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

Как определить спидгрейд микросхемы ProAsic3L (std или -1) по маркировке на корпусе?

 

Что на нем написано:

Actel

l (тут не пойму то ли буква, то ли еденица)

ProASIC 3

A3P600L

PQ208 0953

QHTHL

PHILIPPINES

 

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


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

Как определить спидгрейд микросхемы ProAsic3L (std или -1) по маркировке на корпусе?

 

Что на нем написано:

У Вас Standard Speed Grade. Если был бы -1, то надпись была бы А3Р600L-1PQ208.

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


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

Работаю с Cortex M1 на актелевской Demоплате с M1ProAsi3L

Пытаюсь запрограммировать внешнюю Flash (JS28F640).

При однократной последовательности записи во Flash (0x40, а затем байт или слово в записывамый адрес ) происходит

запись во все четыре байта 32 разрядного слова одинакового значения равного значению младшего байта.

При этом два младших разряда адреса игнорируются. При любых комбинациях записывается один и тот же байт. При увеличении адреса на 4 записываются следующие четыре байта, опять же одинаковым значением, равным значению младшего байта новой записываемой величины.

Как записать 4 разных байта?

Прилагаемая к киту программа MemoryLoaderM1 программирует флеш нормально, но к ней нет исходников.

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

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


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

Вы используете IP CoreMemCtrl ? Попробуйте поиграться с настройками адресации.

 

http://www.actel.com/ipdocs/CoreMemCtrl_HB.pdf

 

post-52939-1316666547_thumb.jpg

 

Если не секрет, на какой частоте у вас получилось поднять CortexM1?

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


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

Вы используете IP CoreMemCtrl ? Попробуйте поиграться с настройками адресации.

 

http://www.actel.com/ipdocs/CoreMemCtrl_HB.pdf

Спасибо, этот документ знаем, хотя скорее всего недостаточно глубоко.

 

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

 

 

Если не секрет, на какой частоте у вас получилось поднять CortexM1?

Пока работаем на той частоте, что установлена на демоплате(16MHz)

 

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


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

Можно попробовать объединять байты в группы по 4 и писать уже 32х разрядное слово.

Либо экспериментировать с адресацией.

 

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


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

Можно попробовать объединять байты в группы по 4 и писать уже 32х разрядное слово.

Либо экспериментировать с адресацией.

В том и непонятка, что при записи 32р слова его младший байт пишется во все 4 байта.

 

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


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

Решено, проблема была в том, что указатель был объявлен 8-ми разрядным, а оные как указано в datasheet-е на контроллер памяти для flash памяти не поддерживаются.

При замене указателя на 32-ух разрядный все заработало правильно.

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


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

Добрый день, форум.

Я работаю с ProASIC3 и прошивается она программатором FlashPro4.

С ним то и возникли какие-то трудности.

Хотел запустить self-test на программаторе, но для этого по описанию нужна некая

loopback test board.

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

 

Ещё вопрос: бывало ли у вас такое, что программаторы только-что купленные в актел отказывались работать или сгорали по неосторожности обращения. интересно такое вообще возможно ?

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


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

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

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

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

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

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

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

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

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

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