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

 
 
> Nios II Software, загрузка с Flash
dim99
сообщение Jul 1 2009, 08:10
Сообщение #1


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

Группа: Свой
Сообщений: 120
Регистрация: 8-02-09
Из: Мытищи
Пользователь №: 44 580



Доброго времени суток, товарищи )

Возникла необходимость экономии памяти (on-chip) и требуется перекинуть software с on-chip на Flash, чтобы ядро грузилось с флэшки,встроенной на плате.

Имеется Cyclone III C120 и flash 64 Мб с CFI интерфейсом.
Посмотрел на официальном сайте altera.com, вроде все просто прошился через Flash Programmer и все.

Так вот сам вопрос: по мануалу ug_nios2_flash_programmer.pdf необходимо создать для CFI Avalon-MM Tristate и добавить компонент Flash Memory.
Тогда получается необходимо создать и внешний блок(саму Flash память) и организовать связь между ядром и разработанным блоком?
Чем тогда будет являться Flash память, какой элемент использовать или все дело в дальнейшей распиновке(то есть привяжу к ножкам Flash и оно поймет)?

Простите, если коряво выразился, может подобная тема и есть, но что-то не нашел.
буду благодарен за любые отзывы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Men
сообщение Jul 29 2009, 16:14
Сообщение #2


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

Группа: Свой
Сообщений: 127
Регистрация: 6-10-06
Из: Санкт-Петербург
Пользователь №: 21 039



У меня DE1 от альтеры, не получается прошить в EPCS4(или получается но не стартует программа).
Все вроде делал как в ug_nios2_flash_programmer
в Flash Programmer видем вот что:
#!/bin/sh
#
# This file was automatically generated by the Nios II IDE Flash Programmer.
#
# It will be overwritten when the flash programmer options change.
#

cd D:/altera/80/qdesigns/DE1_flash/software/flash_v1/Debug

# Creating .flash file for the FPGA configuration
"$SOPC_KIT_NIOS2/bin/sof2flash" --epcs --input="D:/altera/80/qdesigns/DE1_flash/
DE1_flash.sof" --output="DE1_flash.flash"
Info: *******************************************************************
Info: Running Quartus II Convert_programming_file
Info: Command: quartus_cpf --no_banner --convert --device=EPCS128 --option=DE1_f
lash.opt D:/altera/80/qdesigns/DE1_flash/DE1_flash.sof DE1_flash.pof
Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 68 megabytes
Info: Processing ended: Wed Jul 29 18:01:55 2009
Info: Elapsed time: 00:00:02
Info: Total CPU time (on all processors): 00:00:03
Info: *******************************************************************
Info: Running Quartus II Convert_programming_file
Info: Command: quartus_cpf --no_banner --convert DE1_flash.pof DE1_flash.rpd
Info: Quartus II Convert_programming_file was successful. 0 errors, 0 warnings
Info: Peak virtual memory: 65 megabytes
Info: Processing ended: Wed Jul 29 18:01:59 2009
Info: Elapsed time: 00:00:03
Info: Total CPU time (on all processors): 00:00:03

# Programming flash with the FPGA configuration
"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=0x00003800 --cable='U
SB-Blaster [USB-0]' --sidp=0x00004030 --id=441228113 --timestamp=1248875622 --in
stance=0 "DE1_flash.flash"
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Resetting and pausing target processor: OK
Reading System ID at address 0x00004030: verified

: Checksumming existing contents

00000000 : Verifying existing contents

00010000 : Verifying existing contents

00020000 : Verifying existing contents

00000000 : Reading existing contents

00010000 : Reading existing contents

00020000 : Reading existing contents

Checksummed/read 17kB in 0.4s

00000000 ( 0%): Erasing

00010000 (33%): Erasing

00020000 (66%): Erasing

Erased 192kB in 1.9s (101.0kB/s)

00000000 ( 0%): Programming

00010000 (33%): Programming

00020000 (66%): Programming

Programmed 176KB +16KB in 4.2s (45.7KB/s)
Did not attempt to verify device contents
Leaving target processor paused

# Creating .flash file for the project
"$SOPC_KIT_NIOS2/bin/elf2flash" --epcs --after="DE1_flash.flash" --input="flash_
v1.elf" --output="epcs_controller.flash"

# Programming flash with the project
"$SOPC_KIT_NIOS2/bin/nios2-flash-programmer" --epcs --base=0x00003800 --cable='U
SB-Blaster [USB-0]' --sidp=0x00004030 --id=441228113 --timestamp=1248875622 --in
stance=0 "epcs_controller.flash"
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Resetting and pausing target processor: OK
Reading System ID at address 0x00004030: verified

: Checksumming existing contents

00020000 : Verifying existing contents

00020000 : Reading existing contents

Checksummed/read 63kB in 1.5s

00020000 ( 0%): Erasing

Erased 64kB in 0.6s (106.6kB/s)

00020000 ( 0%): Programming

Programmed 2KB +62KB in 1.5s (42.6KB/s)
Did not attempt to verify device contents
Leaving target processor paused
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 30 2009, 00:51
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Men @ Jul 29 2009, 23:14) *
У меня DE1 от альтеры, не получается прошить в EPCS4(или получается но не стартует программа).


логи чистые - прошивается нормально. sof нормальный? если прогу запустить из среды (или в отладчике) - пашет? вектор сброса на epcs указывает?
Go to the top of the page
 
+Quote Post
Men
сообщение Jul 30 2009, 13:02
Сообщение #4


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

Группа: Свой
Сообщений: 127
Регистрация: 6-10-06
Из: Санкт-Петербург
Пользователь №: 21 039



Цитата(vadimuzzz @ Jul 30 2009, 04:51) *
логи чистые - прошивается нормально. sof нормальный? если прогу запустить из среды (или в отладчике) - пашет? вектор сброса на epcs указывает?

Мой проект в прикрепленном фаиле.
Сама прошивка заливается великолепно.
Исходники компилируются без ошибок.
Уже все пересобрал всеравно одна и таже Х....!!!
Please help me!!!
Прикрепленные файлы
Прикрепленный файл  Doc1.doc ( 343.5 килобайт ) Кол-во скачиваний: 99
 
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Jul 30 2009, 15:54
Сообщение #5


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Men @ Jul 30 2009, 17:02) *
Мой проект в прикрепленном фаиле.
Сама прошивка заливается великолепно.
Исходники компилируются без ошибок.
Уже все пересобрал всеравно одна и таже Х....!!!
Please help me!!!

В свойствах библиотеки проекта поменяйте расположение сегмента кода (.text) на onchip_mem и перекомпилируйте проект в эклипсе.
И еще раз проштудируйте доку на FlashProgrammer smile.gif .
В epcs_controller'е имеется небольшое кол-во памяти, в которой живет программа-копировщик.
После того, как плиска сконфигурируется, процессор по вектору сброса перейдет в память epcs_controller'а, и начнет исполнять код копировщика - в Вашем случае он должен копировать исполняемый код приложения из epcs'ки во внутреннее озу плиски. После окончания копирования копировщик передает управление исполняемому коду приложения, вселенному во внутреннее озу (оnchip_mem).
Сегмент кода может располагаться не только во внутреннем озу, но и в любом внешнем (SRAM, SSRAM, SDRAM) - принцип остается тем же.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Men
сообщение Jul 30 2009, 16:31
Сообщение #6


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

Группа: Свой
Сообщений: 127
Регистрация: 6-10-06
Из: Санкт-Петербург
Пользователь №: 21 039



Цитата(Stewart Little @ Jul 30 2009, 19:54) *
В свойствах библиотеки проекта поменяйте расположение сегмента кода (.text) на onchip_mem и перекомпилируйте проект в эклипсе.
И еще раз проштудируйте доку на FlashProgrammer smile.gif .
В epcs_controller'е имеется небольшое кол-во памяти, в которой живет программа-копировщик.
После того, как плиска сконфигурируется, процессор по вектору сброса перейдет в память epcs_controller'а, и начнет исполнять код копировщика - в Вашем случае он должен копировать исполняемый код приложения из epcs'ки во внутреннее озу плиски. После окончания копирования копировщик передает управление исполняемому коду приложения, вселенному во внутреннее озу (оnchip_mem).
Сегмент кода может располагаться не только во внутреннем озу, но и в любом внешнем (SRAM, SSRAM, SDRAM) - принцип остается тем же.

После изменения расположения кода на onchip_mem все рабатает!!!
Когда обратно возвращаю такая же петрушка:

Programmed 2KB +62KB in 1.5s (42.6KB/s)
Did not attempt to verify device contents
Leaving target processor paused

В каком состоянии находится система непонятно?!
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 30 2009, 22:31
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Men @ Jul 30 2009, 23:31) *
В каком состоянии находится система непонятно?!

ниос не может напрямую исполнять код с epcs (не в курсе, правда, насчет последних версий). сделать это можно через хитро изогнутый костыль, но это будет очень медленно. поэтому код исполняется с on-chip ram(варианты - off chip ram, cfi flash, если загрузить ядро какой-нибудь ОС, то и с , например, c SD (при наличии периферии, естественно)). чтобы программа рестартовала при выкл/вкл питания служит бутлоадер(копировщик, о котором писали выше). его код намертво вшит в epcs-контроллер (который есть on-chip memory + spi controller). при подаче питания циклон считывает sof с ниосом и всеми его потрохами, включая epcs-контроллер. вектор сброса указывает на него => начинает исполняться код загручика. загрузчик сливает код программы с флешки в on-chip ram и передает ей управление.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dim99   Nios II Software   Jul 1 2009, 08:10
- - Postoroniy_V   1)после того как в системе появится CFI Avalon-M...   Jul 1 2009, 10:49
|- - dim99   Цитата(Postoroniy_V @ Jul 1 2009, 14:49) ...   Jul 14 2009, 07:34
|- - Postoroniy_V   Цитата(dim99 @ Jul 14 2009, 16:34) что-то...   Jul 14 2009, 08:50
|- - dim99   Цитата(Postoroniy_V @ Jul 14 2009, 12:50)...   Jul 14 2009, 19:10
- - Men   А слона то я и незаметил!!! Все зар...   Jul 31 2009, 05:43
|- - inco   Цитата(Men @ Jul 31 2009, 08:43) А слона ...   Jul 31 2009, 09:57
|- - vadimuzzz   Цитата(inco @ Jul 31 2009, 16:57) А каког...   Jul 31 2009, 14:10
|- - Stewart Little   Цитата(vadimuzzz @ Jul 31 2009, 18:10) мо...   Aug 2 2009, 08:02
|- - vadimuzzz   Цитата(Stewart Little @ Aug 2 2009, 15:02...   Aug 2 2009, 09:32
|- - dim99   После некоторого перерыва добрался до платы (Cyclo...   Oct 6 2009, 15:20
|- - Postoroniy_V   Цитата(dim99 @ Oct 7 2009, 00:20) После н...   Oct 7 2009, 02:14
|- - vadimuzzz   Цитата(dim99 @ Oct 6 2009, 22:20) Мои дог...   Oct 7 2009, 23:07
|- - barabek   Цитата(dim99 @ Oct 7 2009, 02:20) Nios ID...   Oct 8 2009, 13:17
|- - dim99   В общем решил одну из проблем - правильно распинов...   Oct 8 2009, 18:39
|- - vadimuzzz   Цитата(dim99 @ Oct 9 2009, 01:39) В общем...   Oct 8 2009, 22:55
|- - barabek   Цитата(dim99 @ Oct 9 2009, 04:39) В общем...   Oct 9 2009, 01:31
|- - dim99   Цитата(barabek @ Oct 9 2009, 05:31) Время...   Oct 9 2009, 12:43
|- - vadimuzzz   Цитата(dim99 @ Oct 9 2009, 19:43) alt_fla...   Oct 9 2009, 13:15
|- - barabek   Цитата(vadimuzzz @ Oct 9 2009, 23:15) alt...   Oct 9 2009, 14:01
||- - barabek   Да, кстати. Я скопировал упомянутый altera_avalon_...   Oct 9 2009, 14:36
||- - dim99   У меня вопрос появился, нет ли каких-нибудь ошибок...   Oct 9 2009, 15:25
||- - vadimuzzz   Цитата(dim99 @ Oct 9 2009, 22:25) У меня ...   Oct 9 2009, 15:56
||- - dim99   А что с reset? разве нельзя его завести на питание...   Oct 9 2009, 16:37
|- - dim99   Цитата(vadimuzzz @ Oct 9 2009, 17:15) alt...   Oct 9 2009, 14:34
- - vadimuzzz   собрал ниос с флешем на стартер-ките. все работает...   Oct 10 2009, 10:21
|- - dim99   Спасибо за проект и замечания. До платы доберусь т...   Oct 10 2009, 14:45
|- - dim99   Сегодня переделал проект в nios ide как в примере ...   Oct 12 2009, 09:34
|- - dim99   Покапался в datasheet к своей Flash и выяснил инте...   Oct 12 2009, 14:24
|- - vadimuzzz   Цитата(dim99 @ Oct 12 2009, 16:34) Сегодн...   Oct 12 2009, 14:35
|- - dim99   Цитата(vadimuzzz @ Oct 12 2009, 18:35) ви...   Oct 12 2009, 15:10
|- - dim99   Заработало ) Наконец-то после "недолгих...   Oct 14 2009, 14:11
|- - vadimuzzz   Цитата(dim99 @ Oct 14 2009, 21:11) В обще...   Oct 14 2009, 14:32
|- - dim99   Цитата(vadimuzzz @ Oct 14 2009, 18:32) эт...   Oct 14 2009, 14:38
|- - vadimuzzz   Цитата(dim99 @ Oct 14 2009, 21:38) Да, чи...   Oct 14 2009, 22:57
|- - dim99   Сегодня удачно загрузил soft в Flash и теперь с не...   Oct 15 2009, 13:01
- - KriGLer   А возможно ли cfi-flash сделать памятью программ н...   Jan 13 2010, 07:52
|- - vadimuzzz   Цитата(KriGLer @ Jan 13 2010, 13:52) А во...   Jan 13 2010, 08:09
- - KriGLer   Цитата(vadimuzzz @ Jan 13 2010, 11:09) не...   Jan 13 2010, 12:41
|- - vadimuzzz   Цитата(KriGLer @ Jan 13 2010, 18:41) т.е....   Jan 13 2010, 12:47
|- - KriGLer   Цитата(vadimuzzz @ Jan 13 2010, 16:47) ещ...   May 19 2010, 12:04
- - vadimuzzz   а как прогу шьете? через flash-programmer?   May 19 2010, 13:28
- - KriGLer   Да, через него   May 19 2010, 17:53
|- - barabek   Цитата(KriGLer @ May 20 2010, 04:53) Да, ...   May 19 2010, 21:15
|- - vadimuzzz   Цитата(KriGLer @ May 20 2010, 00:53) Да, ...   May 19 2010, 23:00
- - KriGLer   если это то: Код#!/bin/sh # # This file was au...   May 20 2010, 05:06
- - vadimuzzz   а ПЛИС как конфигурируется?   May 20 2010, 07:55
- - KriGLer   .jic фалом через jtag EP2C20 + EPCS4   May 20 2010, 09:01
- - vadimuzzz   а сколько у вас памяти (on-chip)?   May 20 2010, 12:02
- - KriGLer   )))) она отключена вообще   May 20 2010, 12:43
|- - vadimuzzz   Цитата(KriGLer @ May 20 2010, 19:43) ))))...   May 20 2010, 12:56
- - KriGLer   RE: Nios II Software   May 20 2010, 13:12
- - vadimuzzz   так, ошибок нигде не видно. тогда идем по порядку....   May 20 2010, 13:56
- - AntiL   помогите решить проблему(ы). ковыряюсь с платой EP...   Oct 25 2011, 11:57
- - AntiL   ладно, сам и отвечаю(может кому и понадобится): 1....   Oct 27 2011, 04:39
- - AntiL   7. ... преобразовывал с помощью quartus -> conv...   Oct 27 2011, 06:44


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:53
Рейтинг@Mail.ru


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