Устройство dsp56k является символьным устройством с главным числом 55
и второстепенным числом 0.
ОПИСАНИЕ
Motorola DSP56001 - это полностью программируемый 24-битный цифровой
процессор сигналов используемый в компьютерах Atari Falcon030
и совместимых с ними. Специальный файл
dsp56k используется для управления DSP56001 и для
посылки и получения данных, используя двунаправленный порт.
Для того чтобы послать данные процессору сигналов, используйте write(),
а для получения обработанных данных read(). Данные могут быть посланы и получены
машиной в 8, 16, 24, или 32-битной форме, а процессором сигналов только
в 24-битной форме.
Следующие вызовы
ioctl(2)
используются для управления устройством
dsp56k:
DSP56K_UPLOAD
обнуляет DSP56001 и загружает программу. Третьим аргументом ioctl()
должен быть указатель на struct dsp56k_binary с членами
bin указывающими на двоичную программу DSP56001, и len
установленную на длину программы сосчитанную кратно 24 битам.
DSP56K_SET_TX_WSIZE
устанавливает размер передаваемых слов. Допустимые значения
находятся в пределах от 1 до 4, и будет являться числом байт
посылаемых за раз для DSP56001. Эти частички информации
будут заполнены нулевыми байтами или преобразованы
в формат 24-битных данных.
DSP56K_SET_RX_WSIZE
устанавливает размер принимаемых слов. Допустимые значения
находятся в диапазоне от 1 до 4, и являются числом байт принимаемых за один раз
от процессора DSP56001. Эти частички информации так же будут
обработаны, чтобы соответствовать 24-битному формату DSP56001.
DSP56K_HOST_FLAGS
Считывает и записывает флаги машины. Флаги машины - это четыре бита
общего назаначения, они могут быть считаны как машиной, так и процессором
DSP56001. Биты первый и нулевой пишутся машиной, а второй и третий
пишутся устройством DSP56001.
Для получения доступа к флагам машины третий аргумент ioctl() должен быть
указателем на struct dsp56k_host_flags. Если первый или нулевой бит
переменной dir установлены в единичное значение, то
соответствующий бит в переменной out будет записан в флаг
машины. Значение всех флагов машины будет возвращено
в младшие четыре бита переменной status.
DSP56K_HOST_CMD
посылает команды. Допустимые величины находятся в диапазоне от 0 до 31,
они могут быть определены пользователем.