Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по памяти?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
ksluk
Вопрос может глупый но мне не понятно.

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

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

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

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

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

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


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



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

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

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

Да, либо перегружать полностью, либо делать во внутренней памяти кэш команд... Ну и потом грызть проблемы с кэшем. Начиная от поисковых таблиц и кончая перезагрузкой кэша при переходах...
krux
Цитата(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-е всегда серенькие и неактивные.
ksluk
Вроде стало понятно.

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

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.