Категории
Самые читаемые
onlinekniga.com » Справочная литература » Справочники » Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - Олег Вальпа

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 14 15 16 17 18 19 20 21 22 ... 52
Перейти на страницу:

Для перехода в главное меню и загрузки программы нажмите последовательно клавиши Esc и F3 на клавиатуре. С помощью стрелок курсора выделите закладку File главного меню и раскройте ее, нажав клавишу Enter. В раскрывшемся списке команд выберите команду Load Executable File (загрузить исполняемый файл), а в открывшемся окне ввода введите имя файла mem_clr.lda и завершите ввод, нажав клавишу Enter.

Откройте в пунктах главного меню Memory и Register окна памяти программ Program Memory, памяти данных Data Memory, флагов Flags, регистров генератора адреса DAG Registers и регистров арифметико-логического устройства Computational Alternate Registers. После чего разместите эти окна на экране с помощью клавиш управления окнами симулятора в соответствии с рис. 6.3, используя клавиши управления, описанные в табл. 6.6.

Рис. 6.3. Экран управления окнами симулятора

Данные окна позволят наблюдать за ходом выполнения программы и состоянием памяти и регистров процессора. Теперь можно выполнять программу по шагам, нажимая клавишу F10 на клавиатуре, или запустить автоматическое выполнение программы с помощью клавиши F4.

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

Для сохранения конфигурации окон и использования этой конфигурации при повторных запусках симулятора можно сохранить ее в файле с помощью команды Save Window File из закладки File главного меню. При сохранении конфигурации необходимо будет задать имя файла, например mem_clr. После сохранения конфигурации и выхода из симулятора в каталоге будет находиться файл с именем mem_clr.win. Для выхода из симулятора необходимо выбрать команду Exit или Quit из закладки Quit главного меню и в открывшемся окне подтверждения выхода нажать поочередно клавишу пробела Space, а затем клавишу Enter. При новом запуске симулятора, вместо повторного открытия окон, достаточно будет загрузить файл с помощью команды Load Window File из закладки File главного меню симулятора.

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

Глава 7. Порт BDMA

В этой главе описывается порт байтового прямого доступа к памяти процессора, под названием BDMA (Byte Data Memory Access).

Теперь можно приступить к загрузке транслированной и отлаженной программы непосредственно в сигнальный процессор. Для выполнения данной процедуры и практического освоения сигнального процессора с отладкой программ аппаратно можно воспользоваться тестовой платой, описанной в гл. 3.

Запрограммируйте флэш ПЗУ типа Am29F040 содержимым файла mem_clr.bin с помощью любого подходящего для этих целей программатора и вставьте запрограммированную микросхему в панельку на место микросхемы D7 тестовой платы. После подачи напряжения питания на тестовую плату произойдет автоматическая загрузка программы из ПЗУ через порт BDMA в память сигнального процессора, и ее выполнение. Убедиться в том, что программа работает, можно будет с помощью осциллографа, подключенного к выводу FL2 процессора. На этом выводе должен формироваться сигнал в виде меандра с частотой около 2МГц, а светодиод HL2 должен при этом светиться.

Рассмотрим подробнее механизм автоматической загрузки сигнального процессора из ПЗУ, для лучшего понимания происходящих при этом процессов. При подаче питания на тестовую плату, описанную в гл. 3, цепь сброса R1, CP1 формирует сигнал -RKEY, который устанавливает триггер, построенный на элементах D6.1 и D6.2, в состояние, при котором сигнал BMODE будет находиться в состоянии логического нуля. Сигнальный процессор анализирует состояние данного сигнала и сигнала на входе вывода MMAP после сброса и распознает, что загрузка программы в программную память процессора будет производиться из ПЗУ через интерфейс BDMA. При этом процессор автоматически заносит в регистры порта BDMA определенные значения, описанные в предыдущей главе, для того чтобы произвелась автоматическая загрузка 32 слов программы-загрузчика разрядностью 24 бита побайтно в программную память процессора и затем ей было передано управление для загрузки остальной части программы.

Как было сказано выше, программа-загрузчик автоматически записывается в начало файла прошивки ПЗУ с помощью сплиттера во время трансляции программы. После автоматической загрузки из ПЗУ в память программ процессора 32 слов программы- загрузчика через интерфейс BDMA происходит перезапуск процессора и начинает выполняться программа загрузчика, которая осуществляет полную загрузку основной рабочей программы из ПЗУ в процессор.

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

В файле mem_clr.bin и в ПЗУ все коды 24-разрядных слов команд процессора располагаются в строгом порядке. Первым располагается в ПЗУ старший байт команды, затем следует средний байт и последним записывается младший байт команды. Формат хранения слов программы в ПЗУ приведен в табл. 7.1.

Таблица 7.1 Формат хранения слов программы в ПЗУ

Адрес памяти программ Слово программы Адрес памяти ПЗУ Байты программы 0x0000 0xABCDEF 0x00 0xAB 0x01 0xCD 0x02 0xEF 0x0001 0x123456 0x03 0x12 0x04 0x34 0x05 0x56 и т.д.

Способ загрузки процессора из ПЗУ хорошо применим для автономных процессорных устройств, работающих под управлением одной программы. Однако на практике довольно часто встречаются задачи, когда необходимо оперативно менять управляющую программу для процессора какого-либо электронного устройства. Это также необходимо при отладке программ с многочисленными итерациями трансляции и загрузки отлаживаемой программы в процессор. Удачным решением для такого рода задач является загрузка программ в сигнальный процессор через интерфейсный порт процессора IDMA. Но прежде чем начать освоение данной процедуры, необходимо подробнее познакомиться с этим интерфейсом. С этого мы продолжим изучение сигнального процессора в следующей главе.

Глава 8. Порт IDMA

В этой главе описывается интерфейсный порт IDMA и способы загрузки и отладки программ для сигнального процессора через этот порт.

Помимо порта прямого доступа к байтовой памяти BDMA (Byte Data Memory Access), сигнальный процессор ADSP-2181 имеет порт прямого доступа к внутренней памяти процессора IDMA (Internal Data Memory Access). Он представляет собой 16-разрядный параллельный порт, через который можно читать и записывать данные памяти процессора. Порт IDMA имеет 16-разрядную мультиплексированную шину адреса/данных IAD0–IAD15, 4 сигнала управления и 1 сигнал контроля. К сигналам управления относятся: сигнал выбора порта -IS, сигнал записи адреса ячейки памяти IAL, сигнал чтения -IRD и записи -IWR данных через порт. Сигнал контроля -IACK позволяет определить готовность порта IDMA. При чтении и записи памяти через IDMA данные транслируются через буферный регистр порта IDMA. В памяти данных процессора по адресу 0x3FE0 находится регистр управления IDMA, который предназначен для хранения адреса ячейки памяти, к которой будет производиться обращение через порт IDMA. Формат этого регистра представлен в табл. 8.1.

Таблица 8.1 Формат данных регистра управления IDMA

Разряд Назначение 15 Не используется 14 Указатель типа памяти: 0=память программ (РМ) 1=память данных (DM) 13–0 Значение начального адреса памяти процессора при обмене через IDMA (от 0 до 0x3FFF)

Порт IDMA имеет встроенную функцию автоинкремента (автоматического увеличения на единицу адреса памяти), что позволяет ускорить выполнение блочных операций. Кроме того, порт IDMA позволяет выполнять загрузку памяти программ процессора с автоматическим запуском программы после заполнения нулевой ячейки памяти. Протокол обращения к памяти процессора через порт IDMA достаточно прост и показан на рис. 8.1.

1 ... 14 15 16 17 18 19 20 21 22 ... 52
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - Олег Вальпа.
Комментарии