При выполнении программы в непрерывном режиме допускается устанавливать точки останова в тех местах программы, где необходимо проконтролировать значение каких-либо данных в регистрах или памяти процессора. Для этих целей используются кнопки панели инструментов в виде кисти руки или синих флажков. Для установки точки останова необходимо выделить какую-либо строку программы и нажать кнопку с именем «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» и введите в него текст программы, подобный тому, что приведен ниже:
.section/pm interrupts;
__reset: JUMP start; NOP; NOP; NOP; /*reset vector*/
RTI; NOP; NOP; NOP; /*IRQ2*/
RTI; NOP; NOP; NOP; /*IRQL1*/
RTI; NOP; NOP; NOP; /*IRQL2*/
RTI; NOP; NOP; NOP; /*SPORT0 transmit*/
RTI; NOP; NOP; NOP; /*SPORT0 receive*/
RTI; NOP; NOP; NOP; /*IRQE*/
RTI; NOP; NOP; NOP; /*BDMA*/
RTI; NOP; NOP; NOP; /*SPORT1 transmit*/
RTI; NOP; NOP; NOP; /*SPORT1 receive*/
RTI; NOP; NOP; NOP; /*Timer*/
RTI; NOP; NOP; NOP; /*Power down*/
.section/pm program;
start: nop;
jump start;
Этот текст в дальнейшем можно использовать в качестве шаблона (заготовки) новой программы для сигнального процессора. Сохраните созданный файл с каким-либо допустимым именем и расширением «asm» и выполните команду Project→Add to Project→File(s). Выберите сохраненный файл с программой и нажмите кнопку «Add». Теперь необходимо добавить в каталог с проектом файл Adsp-2189.ldf, который можно взять из рассмотренных ранее каталогов с примерами проектов. Данный файл необходим для определения типа процессора и трансляции программы. После этого программу можно транслировать и запускать на выполнение. При успешной компиляции проекта, в подкаталоге «Debug» проекта должен появиться исполняемый файл с расширением «dxe», который автоматически загружается в отладчик-симулятор при запуске программы.
Для получения файла в рассмотренном нами ранее формате «lda» можно воспользоваться специальной утилитой elf2aexe.exe, входящей в состав Visual DSP++. С целью автоматизации этого процесса предлагаю использовать командный файл, имеющий следующее содержание:
cls
elf2aexe.exe %1.dxe %1
del %1.lda
del %1.sym
ren %1.exe %1.lda
Здесь вначале производится очистка дисплея, затем вызывается утилита elf2aexe.exe с именем преобразовываемого файла в качестве входного параметра. После чего выполняются операции удаления вспомогательных файлов и переименования полученного файла. Данный командный файл можно назвать именем dxe_lda.bat и использовать для его вызова команду: dxe_lda.bat имя_файла.
Читать дальше