Jump to content

    

SPARTAN6 не стартует с флешки

Recommended Posts

Runner2

Всем привет! Осваиваю ПЛИС. Чип XC6SLX9-3TQG144C, SPI флеш память AT45DB041D.

Среда Xilinx ISE Design Suite 13.4, программирую IMPACT -ом

 

В саму плисину все прекрасно загружается и прошивка работает. При попытке запрограммировать флеш память

 

 

'1': Erasing device...

done.

'1': Erasure completed successfully.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in page 0.

INFO:iMPACT - Address 0x00053393 is in page 1291.

'1': Programming Flash...done.

'1': Programming completed successfully.

INFO:iMPACT - Address 0x00000000 is in page 0.

INFO:iMPACT - Address 0x00053393 is in page 1291.

'1': Verifying device...done.

'1': Verification completed successfully.

'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.

INFO:iMPACT - '1': Flash was not programmed successfully.

PROGRESS_END - End Operation.

Elapsed time = 98 sec.

 

Сбой программирования.

При этом флешка стирается и проверяется командой Blank Chek без ошибок.

Вся схемотехника подключения флешки к плисине вроде сделана по Spartan-6 FPGA Configuration User Guide, только DONE не подтянут к Vcc, а висит на этом выводе светодиод с резистором на землю.

 

Подскажите что я делаю не так, заранее спасибо.

 

 

Share this post


Link to post
Share on other sites

vitalinea
...

'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.

...

По умолчанию, во время конфигурирования DONE это open-drain пин. Во время конфигурирования он изнутри удерживается в нуле. После окончания конфигурирования, этот пин отпускается и он должен перейти в 1 не позднее чем за один такт CCLK. Если он не успевает подтянуться к 1 за это время -- конфигурирование считается неуспешным. Проверте как быстро DONE переходит из 0 в 1. Если слишком медленно, то есть такие варианты: 1) либо добавить небольшой подтягивающий резистор, 2) либо уменьшить частоту CCLK, 3) либо в bitgen опциях сделать DONE пин totem-pole, а не open-drain (если у вас несколько FPGA в конфигурационной цепочке и их DONE пины соединены -- естественно так делать не стоит).

Share this post


Link to post
Share on other sites

Runner2

При программировании флешки DONE вообще не переходит в состояние 1.

 

bitgen опции это где такие? Есть вот в опциях Generate Programing File, разделе -g DonePin: есть варианты Pull UP и Float. Изменение этого параметра эффекта не дает....

 

 

Я просто никогда раньше не работал с плисами со внешней флешкой... А со встроенной проблем не было...

Попробую подтянуть DONE резистором

Спасибо за советы.

Share this post


Link to post
Share on other sites

Bad0512
Всем привет! Осваиваю ПЛИС. Чип XC6SLX9-3TQG144C, SPI флеш память AT45DB041D.

Среда Xilinx ISE Design Suite 13.4, программирую IMPACT -ом

 

В саму плисину все прекрасно загружается и прошивка работает. При попытке запрограммировать флеш память

 

 

'1': Erasing device...

done.

'1': Erasure completed successfully.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in sector 0.

INFO:iMPACT - Address 0x00053393 is not located at the start of a sector boundary. The whole sector will be erased.

INFO:iMPACT - Address 0x00053393 is in sector 6.

INFO:iMPACT - Address 0x00000000 is in page 0.

INFO:iMPACT - Address 0x00053393 is in page 1291.

'1': Programming Flash...done.

'1': Programming completed successfully.

INFO:iMPACT - Address 0x00000000 is in page 0.

INFO:iMPACT - Address 0x00053393 is in page 1291.

'1': Verifying device...done.

'1': Verification completed successfully.

'1': Configuration data download to FPGA was not successful. DONE did not go high, please check your configuration setup and mode settings.

INFO:iMPACT - '1': Flash was not programmed successfully.

PROGRESS_END - End Operation.

Elapsed time = 98 sec.

 

Сбой программирования.

При этом флешка стирается и проверяется командой Blank Chek без ошибок.

Вся схемотехника подключения флешки к плисине вроде сделана по Spartan-6 FPGA Configuration User Guide, только DONE не подтянут к Vcc, а висит на этом выводе светодиод с резистором на землю.

 

Подскажите что я делаю не так, заранее спасибо.

Есть подозрение (судя по приведённому вами логу) что вы подсовываете импакту неправильный формат файла. Он пытается писать флэшку с адреса 0x53393, хотя логично было бы начать с нуля. Скорее всего флэшке нужен формат типа Intel HEX (который тоже ещё надо сформировать тем же импактом), а вы пытаетсь скормить ей *.bin, что в корне неверно. А вообще всё это описано в мануалах на импакт.

Share this post


Link to post
Share on other sites

Runner2
Есть подозрение (судя по приведённому вами логу) что вы подсовываете импакту неправильный формат файла. Он пытается писать флэшку с адреса 0x53393, хотя логично было бы начать с нуля. Скорее всего флэшке нужен формат типа Intel HEX (который тоже ещё надо сформировать тем же импактом), а вы пытаетсь скормить ей *.bin, что в корне неверно. А вообще всё это описано в мануалах на импакт.

 

С чего вы взяли что я пытаюсь скормить ей бин файл? Я формирую и пытаюсь загрузить MCS формат

 

Вообще для генерации файла для флешки доступно всего 3 формата.: MCS, EXO, UFP

 

Только сгенерировав файл MCS он один доступен при выборе SPI флеш, остальные форматы в окне выбора файла хоть ты их и сгенерил недоступны.

 

Подтянул DONE к питанию через резистор 330 Ом, положительного эффекта нет все тоже самое....

 

Неосиливаю, в чем проблема.... :blink:

 

Share this post


Link to post
Share on other sites

tinker73

Предлагаю проверить

1) состояние пинов M[1:0] = 2'b01 (т.е. SPI master)

2) находится ли VCC_AUX в допустимых пределах в момент загрузки из флеши (нет глитчей,просадок напряжения и т.д.)

3) если уж совсем ничего не помогает, то выпаять и прошить флешку в программаторе, запаять в плату, и после этого проверить всё с отключенным JTAG-ом

, в первую очередь проверить уровни 0 и 1 для всех сигналов флеши (нет ли КЗ или обрывов), находится ли частота CCLK в допустимых пределах, нет ли "звона" на длинных линияхSPI, проверить питание флеши, и т.д по всему списку.

4)попробовать другой экземпляр и/или даже тип флешки (например Numonix M25P)

Share this post


Link to post
Share on other sites

aat_81

Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати :)

Share this post


Link to post
Share on other sites

_4afc_
Понимаю, что прошло много времени, но попытаюсь - удалось ли решить данную проблему? Если да то каким способом? Сам столкнулся с подобным поведением и чужой опыт был бы кстати :)

 

1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG

2. Отсутствие подтягивающих резисторов у флешки.

 

Share this post


Link to post
Share on other sites

aat_81
1. Проблемы с JTAG (длинные провода) или высокая скорость JTAG

2. Отсутствие подтягивающих резисторов у флешки.

Проблема точно не с JTAG, т.к. загрузить FPGA могу. Мало того, флешка тоже записывается нормально(проверял считывая прошивку обратно на компьютер). Получается проблема только в загрузке плиски от флешки. Думаю вечером разберусь и отпишусь в чем дело было.

Share this post


Link to post
Share on other sites

aat_81

В общем проблема была банальной. Контакты М1 и М0 были подключены к земле и питанию через 10 кОм резисторы, после избавления от этих резисторов проблема исчезла.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.