- •Система регистрации быстрых сигналов на базе пэвм и интеллектуального усо с dsp-процессором
- •Содержание
- •Список обозначений и сокращений
- •1 Введение
- •2 Назначение и технические характеристики стенда
- •3 Архитектура стенда ммссд
- •3.1 Структура технических средств стенда ммссд
- •3.2 Структура модуля ацп adp60pci
- •4.1 Общий алгоритм работы стенда
- •4.2 Алгоритм настройки стенда
- •4.3 Алгоритм регистрации данных
- •5 Структура по ммссд
- •5.1 Перечень по стенда ммссд
- •4 Алгоритмы работы стенда
- •5.2 Программный модуль взаимодействия эвм с dsp процессором платы hostdaq
- •5.3 Программный модуль взаимодействия dsp с эвм dspdaq
- •5.4 Программные модули настройки ацп ConfigAdc/InitAdc
- •6. Руководство оператора стенда
- •7 Руководство программиста стенда ммссд
- •7.1 Структура файлов и директорий
- •7.2 Руководство программиста программного модуля hostdaq
- •7.3 Руководство программиста программного модуля dspdaq
- •7.3.1 Структура программы dspdaq для dsp
- •7.4 Руководство программиста модулей настройки стенда ConfigAdc/dspConfigAdc
- •8. Индивидуальные задания для лабораторных работ
- •8. Требования к оформлению отчета.
- •9 Список использованных источников
- •Приложение а (Список функций модуля спо эвм)
- •Int brd_init (char *regFile);
- •Void brd_close(brd_Board board);
- •Int brd_load(brd_Board board, long node, char *fname, int argc, char *argv[])
- •Int brd_start(brd_Board board, long node);
- •Void brd_iack(brd_Board brd);
- •Приложение б (Список функций модуля спо dsp)
- •Void drv_close(drv_Handle drv);
- •Int drv_ctrl(drv_Handle drv, int cmd, void *args);
- •Int drv_read(drv_Handle drv, void **buf, int size);
- •Int drv_write(drv_Handle drv, void **buf, int size);
- •Приложение в (Таблица параметров настройки стенда)
7.3 Руководство программиста программного модуля dspdaq
Для разработки ПО для ADSP процессора с использованием Deasy Tools необходимо использовать либо ADI_DSP версии 3.5, либо VisualDSP. [5] Рассмотрим вариант использования ADI_DSP версии 3.5. Описание библиотечных функций приведено в h-файлах, находящихся в директории ADI_DSP\21k\INCLUDE.
Для правильного функционирования Deasy Tools требуется использовать архитектурные файлы, входящие в комплект поставки – Deasy62.ach, Deasy62e.ach. Архитектурные файлы определяют, как конфигурировать память и отображаемые в память периферийные устройства в системах с архитектурой ADSP-210xx. Компилятор и линкер считывают архитектурный файл для определения конфигурации системы с архитектурой ADSP-210xx. Некоторые функции пакета требуют наличия специальных сегментов памяти и могут неправильно работать в случае изменения их размера или в случае перемещения их в другой участок физической памяти (в случае их отсутствия программа выдаст при компоновке сообщение об ошибке). При необходимости изменения карты памяти следует внимательно изучить структуру архитектурного файла.
При разработке ПО для DSP-процессора базового модуля ADP60PCI требуется иметь:
Исходные тексты программы на языке С (или assembler).
В состав исходных текстов входят <DSPprogName>.c, написанная программистом, drv.h – заголовочный файл библиотеки Deasy. [4], [5]. Располагаются в каталоге, указанном в 7.1.
Make-файл проекта (в случае использования ADI_DSP)
Make-файл и сам maker.exe, а также g21k.exe, asm21k.exe, ld21k.exe. Располагаются в каталоге, указанном в главе 7.1.
Библиотеки ADI_DSP v3.5 (или VisualDSP 3.5)
Расположены в каталоге c:\ADI_DSP\21K\LIB\SRC\... в виде исходных текстов на языке ассемблера процессора ADSP2106x.
Библиотеки Deasy Tools
Brd50.lib, brd60.dll. Краткое описание и расположение указано в главе 7.1.
Утилиты Deasy Tools
В состав утилит входят : aploader.exe, insyspcint.exe, uinsys.dll. Их краткое описание и расположение находится в 7.1.
При использовании ADI_DSP v3.5 требуется адаптировать имеющиеся make-файлы. Информация из make-файла используется утилитой maker, входящей в состав ADI_DSP v3.5, пакета Borland C 3.1, для управления процессом компиляции файлов проекта в исполнимую программу для DSP процессора. Пример формата записи утилиты maker при использовании make-файла с именем makefile: maker –B. Справочную информацию об утилите make можно получить, запустив «maker» из командной строки.
Рассмотрим пример make-файла для создания программного модуля dspdaq, предназначенного для выполнения на ADSP-процессоре платы ADP60PCI:
#targets
all: outfilename.x60 //Имя и расширение выходного файла
#stack call convention
SYSLINKS = deasy62.ach
SYSLINKS2 = deasy62e.ach
OBJS =
LIBPATH =
LIBS =
DEFINES = -D_ADSP21062_ //опции компилятора
//(тип процессора)
CC = g21k $(DEFINES) //указание типа компилятора С
ASM = asm21k –adsp21060 // указание типа компилятора
// ассемблера
LINK = ld21k //тип программы компоновщика
ARCH = lib21k
.SUFFIXES: .x60 .o .asm .c .obj //доступные расширения
.c.o:
$(CC) –c $*.c //запуск компилятора С
.asm.obj
$(ASM) –c $*.asm //запуск компилятора asm
outfilename.x60: client.o drvcfg.o a212x40m.o $(SYSLNKS) makefile //запуск компоновки
$(LINK) –a $(SYSLNKS) $*.o drvcfg.o a212x40m.o $(MAP) –m –o $.x60 –I alist.lst // выходного файла
Вставка 7.3 Пример make-файла
Составление make-файлов для утилиты maker пакета BC 3.1 в значительной степени совпадает с правилами составления make-файлов для утилит gnu-make. Описание утилиты maker, а также правил составления make-файла и синтаксиса можно найти в [11], [12].
Назначение специфических для процессора ADSP2106x параметров настройки определены в документации [6].
Загрузка файла outfilename.x60 в плату ADP60PCI выполняется с ПЭВМ по шине PCI под управлением программы ЭВМ.
