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

Sharc ADSP-21375 и загрузка исполнитель.кода во внутр. ОЗУ

С 40-разрядной плавающей запятой вопрос вроде решен.

Но теперь у меня еще один вопрос.

Суть проблемы: нехватка внутр.ОЗУ для выполнения программы, но при этом код можно разделить по временным характеристикам на критичные по времени исполнения и некритичные. При таком делении размера внутр.ОЗУ достаточно.

Я как понимаю это можно реализовать при помощи overlay, но вот хотелось бы сделать иным образом.

Исполняемый код, который д.б. во внешней ОЗУ, я размещаю в секторе, указывающий на внешнее ОЗУ = при помощи директивы:

#pragma section(CODE, "seg_ext_pmco")

Но вот будет ли ROM-загрузчик при загрузке программы из внеш.SPI-памяти загружать программу и во внешнее ОЗУ?

Тут возможно два варианта ответа:

1.Если да, то ведь необходимо проинициализировать внешнее ОЗУ - вопрос тогда как?

2.Если нет поддержки автоматической загружки во внеш. ОЗУ ROM-загрузчиком, тогда это делать надо самому:

2.1.Оверлейная технология - здесь вроде все ясно как делать

2.2.Ручная загрузка кода программы во внешнее ОЗУ - здесь только вопрос как понять: как разделить программу на две части, опять напоминает пункт 2.1.

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


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

здесь только вопрос как понять: как разделить программу на две части, опять напоминает пункт 2.1.

Посмотрите главу "ADSP-2126x/2136x/2137x Processors Boot Kernels" из "Loader and Utilities Manual"

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


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

В LDF файле создаем секцию, расположенную во внешнем ОЗУ.

Программы и данные с помошью прагм или того же LDF скрипта привязываем к этой секции.

В итоге код и данные при сборке попадают в нужную секцию, а погрузчик при загрузке секции просто копирует слова по требуемым адресам.

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


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

В смысле - waitstates внешнего порта устанавливать? Модифицированное ядро погрузчика. Исходники погрузчика берем и нестандартные инициализации вставляем туда. А адреса секций - погрузчику все равно какие.

О каком ОЗУ речь, кстати?

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


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

В смысле - waitstates внешнего порта устанавливать?

Либо параметры SDRAM контроллера.

Модифицированное ядро погрузчика. Исходники погрузчика берем и нестандартные инициализации вставляем туда.

Собственно в этом направлении и был мой первый ответ.

А адреса секций - погрузчику все равно какие.

Согласен.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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