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

 
 
 
Reply to this topicStart new topic
> Вопрос по памяти?, как располагается память программ и данных
ksluk
сообщение Dec 23 2013, 14:47
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 23-12-13
Пользователь №: 79 763



Вопрос может глупый но мне не понятно.

Как понимаю я:
Есть EPCS (как бы Flash память ) - где находиться память программ
есть On chip RAM (выбирается в SOPC BUILDER) - как бы ОЗУ. - где находятся память данных

EPCS - 2 мегабайта
ОЗУ - настроено на 100 мегабайт

Когда я в NIOSе пишу программу для Циклона 3, у меня при общей памяти (!!!) программ и данных больше 80 мб - выдается ошибка.
то есть максимум под программу и данные у меня 80 мб....

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

Спасибо заранее))
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 23 2013, 14:57
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(ksluk @ Dec 23 2013, 18:47) *
Вопрос может глупый но мне не понятно.

Как понимаю я:
Есть EPCS (как бы Flash память ) - где находиться память программ


Так это же "память с последовательным доступом"... И как из нее программы выполняются?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
xor.kruger
сообщение Dec 23 2013, 14:59
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 290
Регистрация: 17-08-08
Из: Чернигов
Пользователь №: 39 647



Покажите линковочный скрипт, который скармливаете компилятору.
Go to the top of the page
 
+Quote Post
ksluk
сообщение Dec 23 2013, 19:40
Сообщение #4





Группа: Участник
Сообщений: 14
Регистрация: 23-12-13
Пользователь №: 79 763



Цитата(xor.kruger @ Dec 23 2013, 18:59) *
Покажите линковочный скрипт, который скармливаете компилятору.



Цитата(iosifk @ Dec 23 2013, 18:57) *
Так это же "память с последовательным доступом"... И как из нее программы выполняются?

то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?
и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?
Правильно я понял?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Копейкин
сообщение Dec 24 2013, 08:41
Сообщение #5


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

Группа: Участник
Сообщений: 190
Регистрация: 7-11-07
Из: С-Петербург
Пользователь №: 32 134



1) Маленькие программы могут стартовать из встроенного ОЗУ, которое будет заполнено в процессе стартовой
конфигурации Циклона.
2) Большие программы, которые не помещаются во встроенное ОЗУ и исполняются из внешнего ОЗУ, требуют
программы-загрузчика (которая запускается из встроенного ОЗУ) и, скорее всего, дополнительного ПЗУ,
где хранится код программы.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 24 2013, 10:27
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(ksluk @ Dec 23 2013, 23:40) *
то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?
и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?
Правильно я понял?

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 24 2013, 10:27
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(ksluk @ Dec 23 2013, 23:40) *
то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?
и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?
Правильно я понял?

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
krux
сообщение Dec 24 2013, 22:15
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



Цитата(ksluk @ Dec 23 2013, 18:47) *
Есть EPCS (как бы Flash память ) - где находиться память программ

вот здесь есть недопонимание.
здесь надо рассматривать два компонента, а не один.
первый - это EPCS Flash Controller, к которому имеет доступ QSYS/SOPC система.
второй - непосредственно EPCS Flash-микросхема.

фактически, это EPCS Flash Controller состоит из SPI-подобного контроллера и маленького кусочка ROM-памяти, в котором хранится код загрузчика.
когда вы ставите reset_vector на EPCS Flash Controller, то этим вы указываете что по хард-ресету сразу после загрузки ПЛИСины NIOS должен выполнять код из этой маленькой ROM-ки.
загрузчик этот копирует данные из EPCS Flash-микросхемы в память, начиная с адреса, указанного при сборке QSYS/SOPC системы как exception_vector.
по адресу exception_vector располагается функция, отвечающая за обработку IRQ. в ней проверяется откуда пришло прерывание и производится переход по соответствующему адресу. Если прерывания фактически не было (как это бывает при старте) то производится переход на entry point программы (.text).
поэтому поля .entry и .exceptions в BSP Editor-е всегда серенькие и неактивные.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
ksluk
сообщение Dec 25 2013, 07:07
Сообщение #9





Группа: Участник
Сообщений: 14
Регистрация: 23-12-13
Пользователь №: 79 763



Вроде стало понятно.

Всем СПАСИБО.

Go to the top of the page
 
+Quote Post

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

 


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


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