Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - [26]

Шрифт
Интервал

>bld21 -help

Этот ключ позволяет получить справку о версии программы и посмотреть список возможных команд. Ключ -help работает в большинстве программ средств разработки.

Рассмотрим более подробно основные директивы системного конфигуратора и ассемблера для сигнальных процессоров семейства ADSP.

Директива SYSTEM

Директива SYSTEM определяет имя (название) системы и должна быть первой командой в исходном файле системной конфигурации. Директива имеет формат:

>.SYSTEM имя_системы;

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

- прописные латинские буквы от «A» до «Z»;

- строчные латинские буквы от «a» до «z»;

- знак подчеркивания «_».

Имена не должны начинаться с цифры и могут иметь длину до 32 знаков. Ниже приведено несколько примеров имен с описанием их назначения:

>Main_prog {Программный модуль на языке ассемблер}

>var1 {Переменная};

>buff {Буфер данных};

>met173 {Программная метка};

>DAC {Порт, отображенный в памяти}.

Директива ADSP21XX

Эта директива определяет, какой тип процессора семейства ADSP2100 используется в системе. Данная информация передается компоновщику (редактору связей) и симулятору через выходной файл с расширением ach. После этого редактор связей в состоянии определить место расположения программы и данных в соответствии с организацией памяти для конкретного типа процессора. Эта директива принимает одну из следующих форм:

>.ADSP2100; {Для ADSP-2100 и ADSP-2100A}

>.ADSP2101;

>.ADSP2105;

>.ADSP2111;

>.ADSP2150; {Для ADSP-21msp50 и ADSP-21msp55}

>.ADSP2151; {Для ADSP-21msp51 и ADSP-21msp56}

>.ADSP2101MV; {Для вариантной системы ADSP-2101 (ADSP-2115)}

>.ADSP2101P; {Для системы со страничной памятью ADSP-2101}

>.ADSP2181; {Для ADSP-2181}

и т.п.

Директива MMAP

Эта директива определяет логическое состояние вывода MMAP процессора в системе. Она принимает одну из двух форм:

>.MMAP0 {Вывод MMAP=0}

>.MMAP1 {Вывод MMAP=1}

Если используется MMAP0, загрузка программы из памяти начальной загрузки происходит после перезагрузки и начинается с нулевого адреса внутренней памяти программ. Если используется MMAP1, загрузка программы из памяти начальной загрузки недоступна, и внутренняя память программ отображается на верхние адреса пространства памяти программ. Когда эта директива пропускается, программа моделирования принимает по умолчанию значение MMAP1.

Директива SEG

Директива SEG определяет специальную секцию системной памяти и описывает ее атрибуты. Не существует разделения памяти по умолчанию, поэтому необходимо определить системную память с помощью директив SEG самостоятельно. Эта информация передается редактору связей, симулятору и эмулятору через выходной файл с расширением ach. Директива SEG имеет форму:

>.SEG/параметр1/параметр2/... имя_сегмента[размер];

Сегменту присваивается символьное имя. Присвоенное имя позволяет разместить фрагменты программы и данных в памяти. На языке ассемблер это достигается параметром SEG. Размер сегмента указывается внутри скобок. Эта величина интерпретируется как количество 16-разрядных слов данных или 24-разрядных слов инструкций в сегменте.

Для директивы SEG необходимо указать два обязательных параметра:

PM, или DM, или BOOT=0-7 — тип сегмента памяти;

RAM или ROM — тип памяти процессора.

Четыре других параметра являются необязательными:

ABS=адрес — абсолютный стартовый адрес;

DATA, или CODE, или DATA/CODE — тип данных, хранимых в сегменте;

EMULATOR или TARGET — распределение памяти для эмулятора;

INTERNAL — расположение в памяти процессора ADSP-2101 с вариантной памятью.

Параметры PM, DM и BOOT определяют тип сегмента памяти, который может быть отведен под память программ, память данных или одну из восьми страниц памяти начальной загрузки. Остальные параметры определяют тип памяти процессора, начальный адрес сегмента, тип данных сегмента (данные и/или программы) и распределение памяти эмулятора.

Каждый сегмент памяти должен адресоваться раздельно, поскольку, например, адрес 0x10 в памяти программ отличается от адреса 0x10 в памяти данных из-за разной длины слов этих данных. Сегмент памяти программ PM может хранить только программы (CODE), данные (DATA) или одновременно программы и данные. Если не указать ни одну из опций, по умолчанию принимается хранение программ. Для сегмента PM, содержащего программу и данные, должны быть указаны оба параметра. Параметр памяти начальной загрузки должен определять только один номер страницы, например BOOT=0. Необходимо разделять объявление сегмента для каждой страницы памяти начальной загрузки системы. Система может иметь до 8 страниц памяти начальной загрузки с номерами от 0 до 7. Каждая страница памяти начальной загрузки для ADSP-2101, ADSP-2111, ADSP21ms50 может сохранять до 2К программ и данных. Каждая страница памяти начальной загрузки для ADSP-2105, ADSP-2115 может сохранять до 1К слов. Параметр ABS для страниц памяти начальной загрузки не используется, поскольку системный конфигуратор самостоятельно присваивает соответствующие адреса.

Примеры директивы SEG:

>.SEG/PM/RAM/ABS=0/CODE/DATA start [2048];

Здесь объявлен сегмент памяти программ ОЗУ, называемый start, который расположен по адресу 0. Сегмент может содержать до 2048 слов программ и данных.


Рекомендуем почитать
Винный гид покупателя

Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.


Секреты безопасной покупки подержанного автомобиля

Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!


713 секретов производственных технологий

Форматирование файла не завершено (Stribog).Эти не только древние, но и интересные рецепты не потеряли актуальности и в нынешнее время. Правда, хочу заметить, что не все из них безопасны. Особенно те, где используется ртуть и соли тяжелых металлов (в частности это касается раздела «Парфюмерия»). Так что думайте Сами.С уважением, Сергей Каштанов.


Противотанковая мина ТМ-72 и минный взрыватель МВН-72

Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.


Учимся читать в три раза быстрее за 20 минут - Лайфхакер

rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.


Молодежный словарь

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