Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
Шрифт:
Глава 24. Работа с VisualDSP++
В этой главе рассматриваются очередные примеры программ, способы настройки симулятора и получение загрузочного файла в среде разработки VisualDSP++.
Рассмотрим еще один пример программы, который демонстрирует работу с последовательным портом и предназначен для освоения работы с симулятором и потоками ввода-вывода.
Откройте в установленном пакете Visual DSP++ каталог с примером проекта программы «Example2», выделите в нем файл проекта «Example2» и нажмите кнопку «Открыть». После этого найдите в открывшемся проекте файл с названием «Sport.asm» и щелкните по нему дважды левой кнопкой мыши. В центре экрана откроется новое окно, позволяющее просматривать и
В этой программе выполняется инициализация последовательных портов SPORT0 и SPORT1 с последующей передачей данных, используя процедуру прерываний.
В обработчике прерываний процессор вначале считывает данные из последовательного порта SPORT1, а затем передает их в этот же порт. Данный обработчик прерываний состоит из следующих строк:
В рассматриваемой программе организован бесконечный цикл за счет того, что процессор находится в состоянии ожидания до тех пор, пока не будет сгенерировано прерывание от приемника SPORT1. Входные и выходные потоки данных могут моделироваться с помощью файлов. Перед запуском этой программы необходимо настроить потоки ввода-вывода.
Для этого необходимо подключить ко входу и выходу порта файлы, которые будут содержать входные и выходные данные. Выполните команду главного меню: «Setting→Streams2». После этого на дисплее откроется окно «Streams», показанное на рис. 24.1.
Рис. 24.1
Щелкните в открывшемся окне по кнопке «Add» (добавить). Во вновь открывшемся окне «Add New Streams» (рис. 24.2) в группе настроек «Source» выберите группу «File» и, щелкнув по кнопке «Browse» (обзор), найдите, выделите и откройте файл «Serin.dat» с помощью кнопки «Open» (открыть).
Рис. 24.2
После чего выберите в списке «Format» строку «Binary». Остальные настройки данной группы оставьте без изменений. Теперь в группе настроек «Destination» выберите в списке «Device» устройство Sport1 и нажмите кнопку «OK». После этого вновь открывается окно «Streams», в котором будет присутствовать заданная нами настройка.
Далее необходимо подключить выходной файл. Вновь щелкните в окне «Streams» по кнопке «Add». В открывшемся окне «Add New Streams» в группе настроек «Source» переключитесь на группу «Debug target» и выберите в списке «Device» устройство «Sport1». Теперь в группе настроек «Destination» выберите группу «File» и, щелкнув по кнопке «Browse», найдите, выделите и откройте файл «Serout.dat» с помощью кнопки «Save» (сохранить) или задайте это имя для выходного файла. В списке «Format» выберите строку «Binary» и нажмите кнопку «OK».
Теперь в открывшемся окне «Streams» будут присутствовать две записи настроек, показанные на рис. 24.3. Нажмите в окне «Streams» кнопку «OK», и оно закроется.
Рис. 24.3
Перед запуском программы создайте с помощью команды меню Register→Custom окно, в котором будут отображаться регистры AX0, RX1, TX1. Кроме того, откройте еще одно с помощью команды меню Register→Program Control для отображения содержимого регистров управления процессора. Изменение содержимого этих регистров можно будет наблюдать в процессе пошагового выполнения программы. Допускается добавление окон для отображения и других регистров, но помните, что избыточная информация загромождает экран и затрудняет изучение программы.
Теперь можно скомпилировать и запустить программу в пошаговом режиме, с помощью клавиш F7 и F11 соответственно. Кроме того, программу можно запустить в непрерывном режиме, используя команду Debug→Run,
или клавишу F5, или соответствующую кнопку на панели инструментов. В результате выполнения программы, данные из входного файла Serin.dat должны без изменений переписаться в выходной файл Serout.dat. После окончания работы программы в окне выходной информации появится сообщение: «Error in reading from stream for Sport 1», которое означает, что отладчик достиг конца входного файла при чтении данных.При выполнении программы в непрерывном режиме допускается устанавливать точки останова в тех местах программы, где необходимо проконтролировать значение каких-либо данных в регистрах или памяти процессора. Для этих целей используются кнопки панели инструментов в виде кисти руки или синих флажков. Для установки точки останова необходимо выделить какую-либо строку программы и нажать кнопку с именем «Toggle Bookmark». Снятие любой точки останова производится повторным нажатием этой же кнопки. Для снятия всех точек останова в программе используется кнопка с именем «All Clear Bookmark». Переход между точками останова вверх или вниз производится с помощью кнопок «Next Bookmark» и «Prevision Bookmark» соответственно.
В исследуемом примере программы, инициализация SPORT1 задает формирование внутреннего кадрового сигнала порта. Программный пакет Visual DSP++ позволяет симулировать внешний кадровый сигнал для порта, с заданными временными параметрами. Для того чтобы задействовать данный механизм, произведите небольшую корректировку программы, изменив настройку кадровой синхронизации для порта SPORT1. Затем установите параметры внешнего прерывания кадровым сигналом с помощью команды главного меню «Setting→Interrupts». В открывшемся окне (рис. 24.4) выберите в качестве источника внешнего прерывания (External Interrupts) кадровый сигнал приемника RFS1 и задайте число циклов Min cycles=0 a Max cycles=10. Нажмите кнопку «Add», а затем «OK». Теперь на панели инструментов найдите и нажмите кнопку «Restart» и выполните программу по шагам, нажимая клавишу F11.
Рис. 24.4
Выполняя программу в пошаговом режиме, можно наблюдать за изменением всех регистров, а также определять число циклов процессора при выполнении любой строки команд.
В программном пакете Visual DSP++ можно создавать новые проекты. Для этого необходимо закрыть открытый ранее проект с помощью команды Project→Close и выполнить команду Project→New. При этом откроется окно «Save New Project As» для создания нового проекта (рис. 24.5).
Рис. 24.5
Нажмите в этом окне кнопку создания нового каталога и задайте ему новое имя. Теперь откройте вновь созданный каталог и задайте имя нового проекта. После чего нажмите кнопку «Save» (сохранить). При этом откроется окно свойств проекта «Project Options» (рис. 24.6). Выберите в этом окне в списке «Processor» тип ADSP-2181 и закройте окно с помощью кнопки «OK».
Рис. 24.6
Далее создайте новый файл программы с помощью команды «File→New» и введите в него текст программы, подобный тому, что приведен ниже: