Перейти к содержанию
    

Вопрос по памяти?

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

 

Как понимаю я:

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

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

 

EPCS - 2 мегабайта

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

 

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

то есть максимум под программу и данные у меня 80 мб....

 

Почему так получается?

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

 

Спасибо заранее))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Как понимаю я:

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покажите линковочный скрипт, который скармливаете компилятору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Покажите линковочный скрипт, который скармливаете компилятору.

 

 

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

то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?

и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?

Правильно я понял?

post-79763-1387827110_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Маленькие программы могут стартовать из встроенного ОЗУ, которое будет заполнено в процессе стартовой

конфигурации Циклона.

2) Большие программы, которые не помещаются во встроенное ОЗУ и исполняются из внешнего ОЗУ, требуют

программы-загрузчика (которая запускается из встроенного ОЗУ) и, скорее всего, дополнительного ПЗУ,

где хранится код программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?

и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?

Правильно я понял?

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то есть в EPCS память храниться изначально, а потом полностью перегружается в on-chip?

и если допустим нужно много памяти то либо выбирать большой on-chip или ставить внешнюю ОЗУ?

Правильно я понял?

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть 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-е всегда серенькие и неактивные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...