Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - [27]
>.SEG/ROM/BOOT=0 boot0[1536];
Здесь объявлен сегмент памяти начальной загрузки boot0, который расположен на странице номер 0 памяти начальной загрузки (автоматически соответствует адресу 0 в памяти начальной загрузки). Длина сегмента составляет 1536 слов. Сегменты памяти начальной загрузки должны всегда быть объявлены как ROM (ПЗУ).
Директива PORT является директивой системного построителя и ассемблера. Она объявляет порт ввода/вывода отображенный в памяти процессора. Каждый порт должен иметь уникальное имя и адрес в системе. Порты могут быть определены в памяти данных или памяти программ. Для процессоров с внутренней памятью портам могут быть присвоены адреса только во внешней памяти.
Директива PORT принимает одну из двух форм:
>.PORT/DM/ABS=адрес имя_порта;
или
>.PORT/PM/ABS= адрес имя_порта;
Параметр DM показывает, что порт отображен в памяти данных. Параметр PM показывает, что порт отображен в памяти программ. Если параметр не задан, по умолчанию принимается DM. Порт располагается по абсолютному адресу, который определен параметром ABS, и присваивается символическому имени порта. Это имя используется в инструкциях ассемблера для доступа к порту, например:
>.PORT/DM/ABS=0x0020 p1;
Объявляет имя порта p1, который отображен в памяти данных по адресу 0x0020 (шестнадцатеричный) или 32 (десятичный). Ассемблерная программа обращается к этому имени, чтобы представить его редактору связей, базирующемуся на содержании файла описания системной конфигурации с расширением ach. Отображение порта в памяти данных позволяет 16-и разрядное чтение/запись, в то время как отображение порта в памяти программ допускает 16- или 24-разрядный обмен данными.
В программе директива PORT повторяет директиву системного построителя без указания адреса порта. Например, в файле конфигурации системы для системного построителя директива PORT объявляет порты CODEC и DAC по адресам 0x3000 и 0x3800 соответственно:
>.PORT/ABS=0x3000 CODEC;
>.PORT/ABS=0x3800 DAC;
В программе директива PORT объявляет эти порты следующими строками:
>.PORT CODEC;
>.PORT DAC;
После чего в программе можно делать обращения к описанным портам с помощью команд, подобным следующим:
>AR=DM(DAC);
>DM(DAC)=AR;
>AR=DM(CODEC);
>DM(CODEC)=AR;
Директива ENDSYS должна быть последней командой в файле. Системный конфигуратор останавливает свою работу на директиве .ENDSYS. Директива имеет форму записи:
>.ENDSYS;
Ниже приведен пример законченного файла example.sys для системного конфигуратора.
>.SYSTEM example;
>.ADSP2181;
>.MMAP0;
>.SEG/PM/RAM/ABS=0x0000/CODE/DATA mem_pm[0x4000];
>.SEG/DM/RAM/ABS=0x0000/DATA mem_dm[0x3FE0];
>.ENDSYS;
После обработки этого файла системным конфигуратором должен получиться файл example.ach с таким содержимым:
>$EXAMPLE
>$ADSP2181
>$MMAP0
>$0000 3FFF pax_PM t
>$0000 3FDF dadMEM_DM t
>$
Теперь рассмотрим основные директивы ассемблера, которые применяются в текстах программ для сигнальных процессоров семейства ADSP.
Директива MODULE обозначает начало программного модуля и определяет название модуля. Как было сказано ранее, программа для ADSP-2181 может состоять из одного или нескольких модулей, которые отдельно ассемблируются и затем связываются вместе. Каждый файл с исходным текстом программы может содержать только один программный модуль. Директива имеет следующую форму записи:
>.МОDULЕ/ПАРАМЕТР1/ПАРАМЕТР2 ... ИМЯ_МОДУЛЯ;
Параметры могут быть следующими:
RAM или ROM — тип памяти для размещения программы;
ABS=адрес — абсолютный стартовый адрес (не используется вместе с директивой STATIC);
SEG=сегмент — размещение программы в указанном сегменте;
STATIC — статичное размещение модуля в памяти (не используется вместе с директивой ABS).
Параметр RAM (ОЗУ) или ROM (ПЗУ) определяет тип памяти процессора для размещения программы. Если тип памяти не определен, то по умолчанию принимается тип RAM.
Параметр ABS размещает коды модулей программ по определенным адресам памяти программ, что делает их не перемещаемыми компоновщиком. Это означает, что компоновщик резервирует память для модулей по указанным адресам. Модули, которые не имеют параметра ABS, распределяются компоновщиком в памяти процессора автоматически.
Параметр SEG размещает модуль в указанный сегмент памяти, который объявлен в файле системной конфигурации. Если определить оба параметра ABS и SEG и указать абсолютные адреса, которых нет в данном сегменте, компоновщик выдаст сообщение об ошибке.
Параметр STATIC сохраняет модуль в памяти программ, когда загружаются страницы начальной загрузки. Пример записи директивы:
>.MODULE/RAM/ABS=0 demo;
>{Определение имени demo программного модуля}
>{с размещением в ОЗУ по абсолютному адресу 0}
Директива CONST определяет соответствие между именем константы и ее значением. Данная директива имеет следующую форму записи:
>.CONST имя_константы1 = значение1, имя_константы2 = значение2...;
Значения констант могут быть числовыми или символьными константами. Кроме того, допускается присваивать константам выражения. В выражениях разрешаются только арифметические или логические операции над двумя или более целыми константами. В качестве знаков выражений в ассемблере допускается использовать следующие символы:
![Правила дорожного движения, 2013 (со всеми последними изменениями)](/storage/book-covers/b2/b2de58069802cc3cd61b4ad6bc62bf7c02fe1c29.jpg)
Настоящее издание содержит официальный текст Правил дорожного движения Российской Федерации со всеми последними изменениями на 2013 год.
![125 запрещенных фильмов: цензурная история мирового кинематографа](/storage/book-covers/64/6442440585d26af2712b15c6cc7a1fbe78141654.jpg)
«Энциклопедия запрещенного кино» повествует о 125 известных фильмах, которые в той или иной степени подвергались цензуре в США. В ней содержится анализ наиболее заметных кинокартин, а также тех менявшихся на протяжении более чем столетней истории кинематографа мер и механизмов, которые применялись для полного или частичного запрета фильмов.Политические, общественные, религиозные организации, представители секс-меньшинств и маргинальных группировок и просто добропорядочные граждане — все они считают себя вправе диктовать художникам.
![Православный календарь на 2013 год](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Лаудер Эсти - владелица косметической компании Estee Lauder Inc](/build/oblozhka.dc6e36b8.jpg)
Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.
![Гетти Жан-Поль (Пол) - нефтяной магнат](/build/oblozhka.dc6e36b8.jpg)
Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.
![Теплоэнергетические установки. Сборник нормативных документов](/storage/book-covers/7d/7d5b3d3477a9d14843298b4d732199cfd7a129ac.jpg)
В сборник включены основные нормативные документы, регламентирующие эксплуатацию теплоэнергетических установок:Правила технической эксплуатации тепловых энергоустановок;Правила техники безопасности при эксплуатации теплопотребляющих установок и тепловых сетей потребителей;Правила учета тепловой энергии и теплоносителя;Положение об оценке готовности электро– и теплоснабжающих организаций к работе в осенне-зимний период.Для руководителей и специалистов предприятий и организаций различных отраслей, форм собственности и ведомственной принадлежности, связанных с эксплуатацией теплоэнергетических установок.Издание подготовлено в сотрудничестве с ООО ИЦ «Астра», г.