Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Название:Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Автор:
- Жанр:
- Издательство:Горячая линия — Телеком
- Год:2007
- Город:Москва
- ISBN:5-93517-342-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ краткое содержание
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.
Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Компоновка программы выполняется с помощью командной строки: ld21 %1 -a adsp2181 -e %1 -x -g. Здесь после команды вызова компоновщика ld21.exe с именем файла из строки запуска командного файла %1, следует несколько ключей с параметрами. Ключ -a adsp2181 указывает имя файла архитектуры процессора adsp2181.ach. Данный файл создан с помощью построителя программ System Builder и входит в поставку пакета кросс средств. Он состоит из пяти следующих строк:
$2181
$ADSP2181
$0000 3FFF paxINT_PM_USER t
$0000 3FDF dadINT_DM_USER t
$
Этот файл содержит данные, определяющие тип процессора и структуру его памяти, и всегда должен находиться в том же каталоге, где находится файл транслируемой программы. Ключ -е %1 назначает имя выходного файла. Ключи -x и -g предназначены для генерации файла карты памяти *.map и файла с таблицей символьных имен *.sym соответственно. Эти файлы можно использовать в дальнейшем для анализа распределения памяти процессора. Файл с расширением sym необходим, кроме того, для отладки программы с помощью симулятора sim2181.exe. В результате компоновки будет получен файл с именем программы и расширением exe. Этот файл уже можно использовать для загрузки в симулятор или непосредственно в процессор, например через интерфейс IDMA. Формат данного файла приведен в табл. 6.4.
Таблица 6.4 Формат загрузочного файла
Символ | Описание назначения |
---|---|
←←i | Признак начала загрузочного файла |
@PA | Признак блока памяти программ РМ |
0000 | Адрес загрузки кодов в память РМ |
Символ | Описание назначения |
123456 | Первый код команды |
789abc | Второй код команды |
def012 | Третий код команды |
… | и т.д. |
#123XXXXXXXX | Признак конца блока команд с контрольной суммой |
@DA | Признак блока памяти данных DM |
0000 | Адрес загрузки данных в память DM |
1234 | Первое слово данных |
5679 | Второе слово данных |
… | и т.д. |
#123XXXXXXXX | Признак конца блока данных с контрольной суммой |
←←o | Признак конца загрузочного файла |
X — контрольная сумма адреса и данных.
Позже мы подробно рассмотрим способ его загрузки в процессор через интерфейс IDMA. Несмотря на то, что этот файл имеет расширение exe, он не имеет ничего общего с исполняемыми файлами для персональных компьютеров. Тем не менее, случайный его запуск на компьютере может привести к непредсказуемым результатам. Непонятно, чем руководствовалась фирма Analog Device, давая такое расширение этому файлу при разработке кросс средств. Для устранения таких неприятных моментов в командный файл включены следующие четыре строчки:
if not exist %1.lda goto next1
del %1.lda
:next1
en %1.exe %1.lda
Эти строки предназначены для переименования нежелательного расширения загрузочного файла с расширением exeв файл с нейтральным расширением lda. Это делается в последней командной строке. Первые три строки предназначены для проверки наличия файла с расширением Ida от предыдущей трансляции и его удаления, в случае обнаружения, для генерации нового файла.
При успешной генерации загрузочного файла будет выведено соответствующее сообщение и осуществлен переход к группе команд для формирования файла прошивки для ПЗУ, из которого может производиться автоматическая загрузка процессора через интерфейс BDMA. Данный процесс называется «сплиттингом» (распределением) и осуществляется командой: spl21 %1.lda %1 - loader-2181 > %1.msg.
Здесь после команды вызова сплиттера sp21.exe с именем файла из командной строки с расширением Ida, следует несколько ключей и команда перенаправления вывода сообщений, с помощью символа >, в файл с расширением msg. Ключ -loader предназначен для добавления в выходной файл кода загрузчика, а ключ -2181 позволяет формировать код загрузки для процессора ADSP-2181. О коде загрузки я расскажу чуть позже.
В результате работы сплиттера будет создан файл прошивки для ПЗУ, с расширением bnm HEX формата Motorola. На практике, для программирования микросхем памяти чаще пользуются бинарным форматом файлов. Поэтому в командном файле добавлено еще несколько строк, осуществляющих преобразование файла bnm в бинарный файл с расширением bin. Для этого используется распространенная программа hexbin2.exe. Эту программу также можно найти на компакт-диске.
Теперь, когда мы познакомились со всеми процедурами трансляции, выполняемыми с помощью командного файла asmdsp.bat, можно начать транслировать нашу программу. Не забудьте, что вместе с программой в каталоге проекта должен находиться файл описания def2181.h, файл архитектуры adsp2181.ach и созданный и описанный выше командный файл asmdsp.bat.
Выполните трансляцию программы mem_clr.dsp с помощью командной строки asmdsp.bat mem_clr. Обратите внимание на то, что в качестве параметра для командного файла используется имя нашей программы без расширения. Оно будет автоматически подставляться вместо символов %1 командного файла. В результате работы командного файла на экране должны последовательно появиться сообщения:
Компиляция...
...завершена успешно
Нажмите любую клавишу...
Компоновка...
...завершена успешно
Нажмите любую клавишу...
Сплиттинг...
...завершен успешно
Нажмите любую клавишу...
Преобразование в бинарный файл...
...завершено успешно
Нажмите любую клавишу...
По завершении работы командного файла в каталоге с программой должны появиться файлы с именем программы и расширениями int, lst, obj, lda, map, sym, msg, cde, bnl, bnm, bnuи bin. Описание назначения данных файлов проекта в краткой форме приведено в табл. 6.5.
Таблица 6.5 Описание расширений файлов проекта
Расширение | Описание |
---|---|
bat | Командный файл |
sys | Исходный файл системной архитектуры |
ach | Файл описания архитектуры |
dsp | Файл ассемблерного модуля (текст программы) |
lst | Файл листинга |
int | Файл инициализации |
obj | Объектный файл |
cde | Файл кода |
dat | Файл инициализации данных кода |
exe (lda) | Файл загрузки образа памяти |
map | Файл распределения памяти |
sym | Файл символов |
bnu | Выходной файл разделителя программ. Содержит старшие байты |
bnm | Выходной файл разделителя программ. Содержит средние байты |
bnl | Выходной файл разделителя программ. Содержит младшие байты |
bin | Файл для программирования ПЗУ в двоичном формате |
msg | Файл сообщений |
Итак, с помощью приведенного выше командного файла мы получили необходимые нам файлы с расширениями ldaи binдля непосредственной загрузки в память процессора и для прошивки ПЗУ соответственно. Файл с расширением symпонадобится нам для отладки программы с помощью программы симулятора sim2181.exe.
Читать дальшеИнтервал:
Закладка: