MoreKnig.org

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

Автор: Вальпа Олег



Шрифт:

.const SPORT0_RX_Channels0= 0x3ff9;

.const SPORT0_RX_Channels1= 0x3ffa;

.const TSCALE=              0x3ffb;

.const TCOUNT=              0x3ffс;

.const TPERIOD=             0x3ffd;

.const DM_Wait_Reg=         0x3ffe;

.const System_Control_Reg=  0x3fff;

Описание этих символьных имен и их соответствие адресам памяти данных процессора приведено в табл. 6.1.

Таблица 6.1 Описание символьных имен регистров управления и состояния процессора ADSP-2181

Как видно из содержимого данного файла, в каждой его строке производится директивное назначение определенному символьному имени конкретного числового значения. Символьные имена могут быть произвольными, важно только, чтобы они одинаково записывались в данном файле и в самой программе. В дальнейшем мы часто будем использовать символьное описание регистров, для обращения к ним по записи или чтению из программы. В частности, в нашей программе mem_clr.dsp содержатся строки команд для обращения к регистру конфигурирования PFTYPE и регистру данных PFDATA программируемых флагов PF процессора. Файл def2181.h должен находиться в том же каталоге, в котором будет храниться файл программы во время ее трансляции. Иначе компилятор выдаст сообщение об ошибке во время компиляции программы.

Далее, в файле программы начинается запись команд. Поскольку с нулевого адреса памяти программ должны быть записаны векторы прерываний или их обработчики, первой располагается команда перехода jump BEGIN на начало программы, а затем команды возврата из прерывания rti для каждого из прерываний процессора. Все команды должны заканчиваться точкой с запятой, в соответствии с требованиями синтаксиса ассемблера. Заметьте, что в одной строке присутствует сразу несколько команд. Такая запись допускается компилятором ассемблера. Так как для каждого вектора прерывания в памяти программ отведено по четыре 24-разрядных ячейки памяти, а каждая команда процессора занимает одну 24-разрядную ячейку памяти, то оставшиеся неиспользованные ячейки памяти заполняются пустыми командами пор. Сразу же после метки BEGIN записаны команды инициализации конфигурационного регистра флагов PFTYPE с помощью рабочего регистра ax0 блока ALU процессора. Непосредственная запись константы в память данных не поддерживается процессором. Ниже располагаются строки комментариев с пояснением назначения каждого бита регистра флагов PFTYPE. Подобные записи позволяют хорошо документировать программу и облегчают тем самым ее отладку и последующее сопровождение. Аналогично описанным выше записям, в программе присутствуют строки команд записи в регистр данных PFDATA программируемых флагов слова управления светодиодом. Далее следуют команды инициализации некоторых регистров сигнального процессора. В частности, команда i0 = ^buf_dm; производит инициализацию индексного регистра, входящего в блок DAG сигнального процессора, т.е. присваивает индексному регистру i0 значение адреса начала буфера buf_dm, располагающегося в памяти данных процессора. Аналогично происходит инициализация других регистров этого блока и инициализация регистра ar блока ALU. Я намеренно указал на принадлежность регистров блокам процессора, для того чтобы показать связь между архитектурой процессора и выполняемой программой и тем самым облегчить понимание того, что происходит в самом процессоре при выполнении перечисленных команд программы. Далее в программе организуется циклическое заполнение памяти данных процессора значением регистра ar. После чего организуется цикл, состоящий из команд инвертирования выходного флага FL2 процессора и заполнения нулевой ячейки памяти регулярно увеличивающимся значением из регистра ar. Кроме того, в данном цикле организовано чтение состояния входов PF0-PF3 процессора и запись этих значений в ячейку памяти данных по адресу 1. Это сделано для того, чтобы при работе программы можно было увидеть с помощью осциллографа генерацию сигнала на выводе FL2, а также следить за изменением значений ячеек памяти с помощью симулятора или других аппаратно-программных средств, убеждаясь тем самым в правильной работе программы и нормальном функционировании процессора. Завершает программу директива окончания модуля программы endmod. В общем случае структура файла должна быть следующей:

/* Строки комментариев, описывающие */

/* название и назначение программы */

.Директива начала и названия модуля программы

.Директива 1

.Директива 2

 ...

.Директива N

Метка1:  Команда1 и операторы; /*Комментарии*/

Метка2:  Команда2 и операторы; /*Комментарии*/

 ...

МеткаN:  КомандаN и операторы; /*Комментарии*/

.Директива окончания программы

Естественно, что комментарии, некоторые директивы, метки и команды с операторами могут отсутствовать в программе. Здесь приведен лишь общий пример записи программ.

Директивы и команды заранее определены языком программирования и не допускают произвольных записей. Метка может состоять из произвольного набора букв, символа подчеркивания и цифр без пробелов, начинающихся с буквы, длиной не более 32 символов, и должна заканчиваться двоеточием. Команды могут записываться в верхнем или нижнем регистре. Компилятор по умолчанию не распознает регистр записей программы, т.е. является контекстно-независимым, и допускает запись комментариев, директив, меток и команд с операторами в любом регистре. Это необходимо учитывать при задании имен меткам. Так, например, метка MET1: и met1: будут восприниматься компилятором как одна и та же, что приведет к сообщению об ошибке. Для того чтобы компилятор различал регистр букв, необходимо включить в строку его запуска ключ -с. Комментарии могут содержать любые наборы произвольных символов в одной или нескольких строчках, заключенных между открывающейся { и закрывающейся фигурной скобкой } или между символами /* и */.

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

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

На сегодняшний день существует два программных пакета кросс средств для разработки и отладки программ для сигнального процессора ADSP-2181. С появлением новых процессоров продолжают добавляться дополнительные инструментарии разработки программ. Первый из этих пакетов входит в поставку отладочного комплекта EZ-KIT Lite и работает под управлением операционной системы DOS, или в режиме эмуляции DOS под Windows. Второй пакет Visual DSP, более позднего происхождения, распространяется самостоятельно и работает под управлением операционной системы Windows. Все кросс средства доступны на сайте компании Analog Device по адресу www.analog.com. Каким из этих пакетов пользоваться, обычно решает сам пользователь. Каждый из пакетов имеет свои преимущества и недостатки. Поэтому познакомим читателей с обоими пакетами поочередно, а они сами сделают свой выбор. Вначале рассмотрим пакет кросс средств для работы под DOS. Данные средства разработки для сигнальных процессоров ADSP-2181 включают в себя:

• System Builder (системный конфигуратор (построитель) программы). Это программный инструмент для описания особенностей оборудования. Он определяет структуру аппаратной системы, позволяя разработчику указать количество доступной памяти, местоположение программной памяти и памяти данных и любого отображенного в память порта ввода-вывода для аппаратного окружения. Данный построитель использует высокоуровневые конструкции, записываемые программистом в файле с расширением sys. После обработки данного файла построитель формирует файл архитектуры с расширением ach. Файл архитектуры используется в дальнейшем компоновщиком, симулятором и эмулятором. Допускается не выполнять процедуру системного конфигурирования при использовании готового файла архитектуры для конкретного процессора.

• C compiler (компилятор языка Си). Осуществляет проверку и преобразование текстов программы, написанных на языке Си формата ANSI, в тексты программ на языке ассемблер семейства ADSP-21XX. Кроме того, он поддерживает встроенный ассемблерный код. Данный компилятор необходим только для трансляции программ, написанных на языке Си. При создании программ на языке ассемблера компилятор Си не используется.

Перейти на стр:
Шрифт:
Продолжить читать на другом устройстве:
QR code

Новые книги

Смотреть все
Книга сердца. Светлый источник любви. Боль в твоём сердце
Книга сердца. Светлый источник любви. Боль в твоём сердце
[Здоровье / Эзотерика, оккультизм, фэн-шуй, йога]
Лууле Виилма (1950–2002) – известная эстонская целительница и парапсихолог. Общаясь с пациентами, она поняла, что любая болезнь – результат обид и стрессов, которые мы порой копим в себе годами.
0
"Зарубежный детектив 2026-30". Компиляция. Книги 1-12
[Детективы / Криминальный детектив / Полицейский детектив / Триллер]
Настоящий томик зарубежного детектива содержит детективы разных жанров и и вполне сможет завоевать симпатии читателей детективами включёнными в сборник! Приятого чтения, уважаемый читатель!
0
Ночь, когда он исчез
Ночь, когда он исчез
[Детективы / Триллер]
Новинка от автора супербестселлера №1 The New York Times! Долгожданный роман Лоры Дейв – автора феномена «Последнее, что он сказал мне», покорившего мир и экранизированного Apple TV+! Иногда,
0
Чайная под солнцем Тосканы
Чайная под солнцем Тосканы
[О любви / Современные любовные романы]
В свои тридцать четыре Тилли привыкла жить осторожно: черно-белые фотографии, крепкий кофе и никаких лишних надежд. Но после пожара, уничтожившего ее галерею, и предательства любимого человека
0
Я не мертва
Я не мертва
[Полицейский детектив / Детективы / Триллер]
Три года детектив Джуди Фонтейн была изолирована от внешнего мира. Заключенная в подземной камере, она общалась только со своим садистом-похитителем, и чтение его мыслей по выражению лица стало
0
Рождество с подвохом
Рождество с подвохом
[Классический детектив / Детективы]
Идеальное уютное чтение для поклонников «Убийств и кексиков» Питера Боланда, «Опасной игры бабули» Кристен Перрин и «Рецепта убийства для настоящей лентяйки» М. С. Битон. Детективы Вероники Хэли
0
Гнездо кабана: Истории из заповедника
Гнездо кабана: Истории из заповедника
[Современная проза / Биология]
Книга «Гнездо кабана: Истории из заповедника» написана человеком, для которого кабаны – не просто объект исследования. По мнению автора, кабан – зверь выдающийся и достоин особого внимания. Надежда
0
Магия Мастера Сефирот: тайные знания предков. Практики, ритуалы, заклинания, Таро
Магия Мастера Сефирот: тайные знания предков. Практики, ритуалы, заклинания, Таро
[Эзотерика, оккультизм, фэн-шуй, йога]
Если вы мечтали обучаться магии у настоящего Мастера, узнать все тайны сильнейших заклинаний, то у вас в руках – исполнение вашей мечты. В книге собраны уникальные техники, которые сделают из вас
0
Американский Освенцим. История больницы Пенхёрст
Американский Освенцим. История больницы Пенхёрст
[Публицистика / Военная документалистика / Документалистика]
Психиатрическая больница Пенхёрст — кровавое пятно в истории Соединённых Штатов. С 1908 по 1987 год там проводились бесчеловечные опыты над больными, в том числе над детьми. Им делали лоботомию,
0
Американская глубинка. Реднеки, хиллбилли и трейлеры
Американская глубинка. Реднеки, хиллбилли и трейлеры
[Публицистика / Документалистика / Обществознание]
Книга рассказывает о жизни американской глубинки так называемого Deep South — Глубокого Юга или Диксиленда. Автор книги, после многолетних путешествий по Югу США, повествует о жизни хиллбилли (горцах
0
Лейтенант. Том 3
Лейтенант. Том 3
[Альтернативная история / Исторические приключения / Попаданцы / Самиздат]
Весна 1905-го. Артур выстоял, блокада прорвана, море — своё. Но война не кончена: через полсвета идёт Вторая эскадра, и в книгах, которые помнит капитан 2 ранга Андрей Маринин, её дорога кончается
0
Стример из иного мира. Том 2
Стример из иного мира. Том 2
[Книги про волшебников / РеалРПГ (RealRPG) / Попаданцы / Самиздат]
Пусть и не по своей воле, но я попал в иной мир. Здесь я, по сути, продолжаю заниматься тем же, что и раньше, — стримить для зрителей. Вот только теперь за мной следят так называемые Небожители, а
1

Самые популярные книги

Железный характер Кристианы Морли
Железный характер Кристианы Морли
[Любовная фантастика / Попаданцы / Классическое фэнтези]
Удар копытом лошади рушит блестящие перспективы дебютантки. По мнению общества, хромота испортила не только плавную поступь девицы, но и характер! Это ж надо умудриться — вместо монастыря или
30
Хозяйка Тиховодья. Развод на краю болот
Хозяйка Тиховодья. Развод на краю болот
[Любовное фэнтези / Попаданцы]
- Двадцать четыре года, Веста. Наследника нет. Подпиши, и получишь Тиховодье. - А где это? - На краю Хляби. Тихо, сыро, никого. Утром я собирала клюкву в Мещёре и шагнула в болотное окно. Очнулась в
9
Хорошая, плохая, грешная 2
Хорошая, плохая, грешная 2
[Любовное фэнтези / Книги про волшебников / Попаданцы / Самиздат]
Новый Свет полон самых разных неожиданностей, как приятных, так и не очень. Новый Свет полон шикарных возможностей, только успевай их реализовывать. Новый Свет полон сильных мужчин и
6
Те, кто приходит в тишине
Те, кто приходит в тишине
[Альтернативная история / Попаданцы / Самиздат / Боевая фантастика]
Редкий бой бывает похож на предыдущий. Мы учимся. На своих и на чужих ошибках. Стараемся расти над собой. Противник – тоже. Он анализирует наши ошибки, учитывает остроумные решения. То есть
6
Комдив
Комдив
[Попаданцы / Альтернативная история / Самиздат]
Комдив Алексей Турчин отправляется в Соединенные Штаты Америки для изучения военно-промышленного комплекса и перспективных образцов вооружения. Удастся ли ему подтолкнуть развитие Рабоче-Крестьянской
5
Измена. Я тебя (не) любил
Измена. Я тебя (не) любил
[Современные любовные романы]
— Как тебе… — слышу прерывистый голос подруги, — мой подарок в честь твоего дня рождения?По меньшей мере иду я в верном направлении. Но вот предчувствие не из лучших. Голос Светы перемешивается со
6
Я попал в мужа любимой супергероини и теперь буду оберегать её от посягательств других суперов
Я попал в мужа любимой супергероини и теперь буду оберегать её от посягательств других суперов
[Попаданцы / Городское фэнтези / Юмористическое фэнтези / Самиздат]
Попытка создания пародии на попаданцев в комикс. Не фанфик, все герои и сюжет комикса, известные герою книги, выдуманы и не являются калькой с какого-то существующего произведения. Ну а главный
5
Мир без вуали
Мир без вуали
[Любовная фантастика / Самиздат]
Незаконное потребление наркотических средств, психотропных веществ, их аналогов причиняет вред здоровью, их незаконный оборот запрещен и влечет установленную законодательством ответственность.
4
Возлюбленная ишхасса
Возлюбленная ишхасса
[Любовная фантастика / Попаданцы / Классическое фэнтези]
Когда рушатся все планы и надежды, что делать, если нет сил пойти и убивать врага? Что если все что у тебя есть только гостиница, работники и интриги конкурентов? Да ничего, жить дальше, разбираться
4
Хорошая, плохая, грешная 3
Хорошая, плохая, грешная 3
[Попаданцы]
У Эвирейл Миардо нет ни единой свободной минутки на грусть и рефлексию! Да и когда? Столько дел, столько дел! Шахту выкопай, лавку открой, артефакты создай, эльфа за попу укуси... Ничего не
4
Майор: Сорокапятка 3
Майор: Сорокапятка 3
[Альтернативная история / Попаданцы / Самиздат]
Бобруйск. Минск. Брест. Висла. Одер. Красная армия наконец идёт туда, куда должна была идти с самого начала войны, — на запад. Так быстро, что карты не успевают за передовыми частями. А
4
Имперец. Ранг 4. Воевода
Имперец. Ранг 4. Воевода
[Боевая фантастика / Боевое фэнтези]
Спасение цесаревича от пули принесло Александру титул, должность личного телохранителя и редкую магию стихий. Теперь он – правая рука наследника престола и командир его личного отряда особого
5

Самые комментируемые

Семья для брошенки. Вторая жизнь с нуля
Семья для брошенки. Вторая жизнь с нуля
[Любовная фантастика / Самиздат / Попаданцы]
Семь лет унижений, презрения и пустой постели. Герцог Дрейк Ашфорд объявил свою истинную жену бракованной и отправил в ссылку на Ольцег — умирать среди таких же «ненужных». Он думал, что сломал
22
Отбор невест, или Три орешка для темного
Отбор невест, или Три орешка для темного
[Любовная фантастика]
Каждая приличная драконица должна пройти отбор невест, иначе внукам у камина будет нечего рассказать. Так говорила моя маменька, а ей можно верить — за ее спиной аж четыре таких отбора! Так что я
13
Печать Забытой Эпохи
Печать Забытой Эпохи
[Любовная фантастика / Попаданцы]
— Скажи спасибо, что не оставил босой на улице, Верадель. Забирай свои проклятые северные руины и убирайся, — самодовольно бросил мне бывший муж, швырнув на стол бумаги о разводе. Он думал, что
23
Хозяйка Тиховодья. Развод на краю болот
Хозяйка Тиховодья. Развод на краю болот
[Любовное фэнтези / Попаданцы]
- Двадцать четыре года, Веста. Наследника нет. Подпиши, и получишь Тиховодье. - А где это? - На краю Хляби. Тихо, сыро, никого. Утром я собирала клюкву в Мещёре и шагнула в болотное окно. Очнулась в
9
Шахматистка. Выжить на Арене Смерти
Шахматистка. Выжить на Арене Смерти
[Любовное фэнтези / Попаданцы / Книги про волшебников / Самиздат]
Кто-то попадает в имбовых персов: Избранных, Тёмных властелинов и прочих крутых ребят. А я попала в тело бездарной адептки магической академии. Как она сюда поступила-то, без грамма магии? Неважно,
12
Диагноз
Диагноз
[Самиздат / Детективная фантастика / Городское фэнтези / Юмористическая фантастика]
Некромантия в нашем мире давно стала такой же частью жизни, как радио, кино, телефоны и аэропланы. Но разве могла я подумать, что однажды приду наниматься на службу к лучшему некроманту столицы! Он —
17
Ведьма и Экзорцист. Второй шанс на жизнь
Ведьма и Экзорцист. Второй шанс на жизнь
[Детективы / Триллер / Любовное фэнтези / Фэнтези]
Приказ ясен: отравить Дерека вель Гранна. Последствия – костёр и пепел. Белладонна уже прошла этот круг, сгорела и получила второй шанс. Теперь она знает, что приказ – лишь верхушка заговора, в
4
Последняя Гадина империи
Последняя Гадина империи
[Попаданцы / Бояръ-Аниме / Русское фэнтези / Самиздат]
Пятьсот лет назад я была прославленным зельеваром, матриархом и почтенной основательницей династии. А сегодня очнулась в теле изнеженной барышни на пепелище семейной усадьбы и обнаружила, что весь
3
Хорошая, плохая, грешная 2
Хорошая, плохая, грешная 2
[Любовное фэнтези / Книги про волшебников / Попаданцы / Самиздат]
Новый Свет полон самых разных неожиданностей, как приятных, так и не очень. Новый Свет полон шикарных возможностей, только успевай их реализовывать. Новый Свет полон сильных мужчин и
6
Пулеметчик Федя
Пулеметчик Федя
[Альтернативная история / Юмористическая фантастика / Попаданцы / Самиздат]
Пулеметчик — это не звание, это диагноз. Тридцать пять лет, пулемёт «Печенег», рукавица прилипла к раскалённому кожуху — и здравствуйте: июнь сорок первого, чужие двадцать два года, чужие руки,
8
Регистрация
Регистрация
[Современная проза]
Может быть, если подождать, оно само рассосется. Надо только не думать про него: вот как оно туманом или тенью болтается где-то рядом, так пусть там и болтается. Имени ему не давать, не вызывать его.
15
Драконий брак, где всё не так
Драконий брак, где всё не так
[Любовная фантастика / Попаданцы]
Я оказалась в другом мире, у моего питомца тяжёлая психотравма, а всё из-за того, что один бестолковый дракон за сыном недосмотрел. И хоть бы извинился за своего драконёнка! Так нет, рычит,
2

Прямо сейчас читают

На распутье семи дорог
На распутье семи дорог
[Космическая фантастика]
Пелена темных туч закрыла будущее Земли, России и главного героя. Всему виной космические цивилизации, пришедшие на Землю со своими планами. Его путь пролег через учебку ЧВК и поля боя на окраинах
0
Некроманты пьют кофе со сливками
Некроманты пьют кофе со сливками
[Юмористическое фэнтези]
Хорошо быть некромантом! Ровно до того момента, как у тебя появляется назойливый поклонник с группой поддержки. А другой парень сбегает со свидания, стоит услышать о твоем призвании. Третий... Ну
0
Озверение
Озверение
[Боевое фэнтези / Книги про волшебников / Попаданцы]
Кажется, чем ближе столица, тем сложнее в неё попасть. Но зато скоро станет понятно, что именно не поделили Настоятель и глава Бурого Приората и почему им так нужны одарённые первушники. Первая мера
0
Где умирают хорошие девочки
Где умирают хорошие девочки
[Современные любовные романы / Эротика, Секс]
Попаданка в 1812: Любить и не сдаваться
Попаданка в 1812: Любить и не сдаваться
[Любовная фантастика / Самиздат / Попаданцы]
Я попала в прошлое, в 1812 год. Самый разгар войны с Наполеоном. Моё имение разорено солдатами французской армии. Мои люди убиты. Однако война подарила мне дочь и встречу с мужчиной, которого я могла
4
Шанхай [litres]
Шанхай [litres]
[Проза / Историческая проза / Старинная литература: прочее]
Имя Риити Ёкомицу (1898–1947) не так хорошо известно отечественному читателю, как имена его знаменитых современников – Акутагава Рюноскэ, Дзюнъитиро Танидзаки, Ясунари Кавабата – а между тем в
0
Роковой обмен
Роковой обмен
[Любовная фантастика]
Он — ее враг. Тот, кто пытался убить ее. И кого она пыталась убить. Но только он сможет спасти ее от жестокого безумного отца. Но что ей ему предложить? Он равнодушен к красоте. Он жесток. Ему никто
1
Убийство в доме свиданий
Убийство в доме свиданий
[Исторический детектив / Триллер]
«Убитая проститутка была совсем нагой. Она лежала на спине в своей холодной доступности, и тело ее, уже успевшее пожелтеть, напоминало хорошо полированную кость мамонта. Из-под ее правой груди
0
Ванька 13
Ванька 13
[Попаданцы / Боевая фантастика / Альтернативная история / Самиздат]
Три войны, плен, каторга, пара революций, вообще непонятно что... Эй, а нормальная-то жизнь здесь будет? Нет? Не в то время попал? Понятно...
3
Волк под кроватью. Человек-невидимка из седьмого «Б»
Волк под кроватью. Человек-невидимка из седьмого «Б»
[Детская литература: прочее / Детские приключения]
В сборник Лады Кутузовой вошли очень разные по жанру произведения: мистические рассказы «Волк под кроватью» и повесть «Человек-невидимка из седьмого “Б”». Мистические рассказы – это не добрые
0
Обратная сторона Луны
Обратная сторона Луны
[Современная проза]
Когда любимый человек умирает, все мы начинаем верить в потусторонний мир — ну, или хотя бы хотим верить. Когда ты учёный до мозга костей, сделать это труднее. Но всё-таки можно. А там, глядишь, и
0
Гора (ЛП)
Гора (ЛП)
[Ужасы]
Эдди Маршалу идея казалось нелепой: отправиться автостопом в горы Северной Каролины, чтобы помочь своему давнему приятелю доставить рождественские елки на грузовике в Луизиану. Но Марк Рокли сумел
0