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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Работа из EPCS
Alezi
сообщение Jul 20 2010, 05:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Суть следующая, необходимо обеспечить работу программы (не критичную по скорости исполнения) из EPCS, а работу обработчика прерывания и памяти данных из on-chip. Работаю на плате DE2-70, Quartus 9.1. Как уже пробовал, просто поставить вектор сброса на EPCS, а вектор исключений на on-chip не работает, ругается BSP editor:(( И еще, как определить, сколько памяти будет доступно для памяти программ в EPCS?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 20 2010, 06:10
Сообщение #2


Гуру
******

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



если мне память не изменяет, просто так EPCS как память программ использовать нельзя. в свое время попался модуль "epcs virtual memory", он вроде для таких извратов предназначен.
Прикрепленные файлы
Прикрепленный файл  epcs_virtual_memory.zip ( 120.74 килобайт ) Кол-во скачиваний: 48
 
Go to the top of the page
 
+Quote Post
murmel1
сообщение Jul 20 2010, 17:32
Сообщение #3


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

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Как нельзя ? Компонент для этого идет в комплекте с NIOS. Называется, если не ошибаюсь epcs_flash_controller
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 20 2010, 22:36
Сообщение #4


Гуру
******

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



Цитата(murmel1 @ Jul 21 2010, 00:32) *
Как нельзя ? Компонент для этого идет в комплекте с NIOS. Называется, если не ошибаюсь epcs_flash_controller

epcs_flash_controller представляет из себя контроллер SPI + on-chip memory. в on-chip находится код загрузчика, который копирует код из epcs в какое-нибудь ОЗУ, а затем передает ему управление. вектор сброса указывает именно на on-chip.
Go to the top of the page
 
+Quote Post
Alezi
сообщение Jul 26 2010, 02:01
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Насчет epcs virtual memory конечно интересно, но вот информации мало, как, да что. К сожалению сайт автора не работает, ссылок куда он перенесен не нашел((. Если есть какая нибудь информация по этому поводу буду рад видеть))
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 26 2010, 04:45
Сообщение #6


Гуру
******

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



автор ушел работать в microtronix и убрал свои разработки из свободного доступа. так что, наверное, самый простой путь - разобрать его исходники и написать свой модуль. там всего 1 файл, второй сгенерирован мегавизардом.
Go to the top of the page
 
+Quote Post
Alezi
сообщение Jul 27 2010, 22:45
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



А если пробовать следующим образом, записать программу в EPCS при помощи флеш программера, а затем, допустим по 1 кБ читать и выполнять этот код, используя on-chip memory как файл подкачки. Возможен ли такой вариант?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 28 2010, 07:05
Сообщение #8


Гуру
******

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



дык epcs virtual memory, что выше приводился, это и делает примерно smile.gif цимес тут в следующем: ниос должен видеть этот модуль как память соотв. размера, обращение же по некоторому адресу будет происходить либо быстро (нужный сегмент находится в буфере), либо медленно (код подгружается в буфер).
Go to the top of the page
 
+Quote Post
Alezi
сообщение Jul 28 2010, 23:49
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Пока пробовал поставить epcs virtual memory как компонент SOPC builder, но возникли проблемы при компиляции:
Код
Error: One or more components could not be located (epcs_virtual_memory). Check IP Search Path under Tools->Options... in SOPC Builder.
Error: System generation failed.

Хотя все пути до файлов проверил sad.gif
Мой предыдущий вариант про файл подкачки в принципе работает, однако приходится в EPCS записывать машинный (откомпилированный) код, который я нашел только в дебугере (скопировал из памяти код готовых команд). Ну а в основной программе, извлекаю часть этого кода и делаю к нему переход.
Но тут очень много проблем, например работа с библиотеками очень затруднительна(( А искать машинный код очень тяжело...
Может есть какие варианты?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 29 2010, 00:07
Сообщение #10


Гуру
******

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



а сам компонент epcs virtual memory создали?
по поводу кода - а чем nios2-flash-programmer не подходит?
Go to the top of the page
 
+Quote Post
Alezi
сообщение Jul 29 2010, 01:04
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Делал и new component (хотя при указании в IP Search Path ->Tools->Options компонент появляется в общем списке), но он ругается на большое число "лишних" сигналов, да и сам компонент при этом выглядит не так как прежде...
По поводу кода, я не нашел как сделать средствами nios2-flash-programmer машинный код. Либо, необходимо использовать утилиту elf2flash?
Подскажите если не сложно...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 29 2010, 02:28
Сообщение #12


Гуру
******

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



Цитата(Alezi @ Jul 29 2010, 08:04) *
Либо, необходимо использовать утилиту elf2flash?

да, примерно так:
elf2flash --epcs --input="hello_world.elf" --output="output_file_name.flash"


Цитата(Alezi @ Jul 29 2010, 08:04) *
Делал и new component (хотя при указании в IP Search Path ->Tools->Options компонент появляется в общем списке), но он ругается на большое число "лишних" сигналов, да и сам компонент при этом выглядит не так как прежде...

скриншоты с руганью покажите, скорее всего он не распознал по именам сигналов типы интерфейсов
Go to the top of the page
 
+Quote Post
Alezi
сообщение Jul 29 2010, 05:55
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Цитата
да, примерно так:
elf2flash --epcs --input="hello_world.elf" --output="output_file_name.flash"

Файл сделал, однако, как я думаю все это бесполезно...буду копать в сторону epcs virtual memory.
Проблемы при создании new component:
Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jul 29 2010, 06:17
Сообщение #14


Гуру
******

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



Цитата(Alezi @ Jul 29 2010, 12:55) *
Файл сделал, однако, как я думаю все это бесполезно...буду копать в сторону epcs virtual memory.

почему бесполезно?
насчет интерфейсов - так и есть, он не распознал. должно быть 2 интерфейса Avalon-MM Slave, 1 clockreset, и export для шины ASMI (которая к EPCS идет). кто такие FLASH_ERASED* не понятно, по идее они внутри должны быть, процессор о них типа не знает. вообще пихать все в один файл не есть гут, имхо. лучше по модулям разбить.
Go to the top of the page
 
+Quote Post
Alezi
сообщение Aug 2 2010, 23:17
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 8-07-08
Из: Хабаровск
Пользователь №: 38 795



Вроде собрать блок в SOPC builder удалось, правда в квартусе не видны asmi интерфейсы и FLASH_ERASED торчат наружу....Проблема теперь в следующем:
Код
Error: Cannot place the following nodes
Error: Cannot place node "system:inst3|epcs_virtual_memory_classic_0:the_epcs_virtual_memory_classic_0|epcs_virtual_memory:the_epcs_virtual_memory|epcs_virtual_memory_ep:end_point|asmi_miso" of type ASMI block

Работаю на CycloneII и пока не нашел к чему зацепить эти выводы....на Cyclone III вроде все проще...sad.gif
Go to the top of the page
 
+Quote Post

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

 


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


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