DSP56K(4) Manuel du programmeur Linux DSP56K(4)

dsp56k - Périphérique d'interface DSP 56001

#include <asm/dsp56k.h>
ssize_t read(int fd, void *data, size_t length);
ssize_t write(int fd, void *data, size_t length);
int ioctl(int fd, DSP56K_UPLOAD, struct dsp56k_upload *program);
int ioctl(int fd, DSP56K_SET_TX_WSIZE, int wsize);
int ioctl(int fd, DSP56K_SET_RX_WSIZE, int wsize);
int ioctl(int fd, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *flags);
int ioctl(int fd, DSP56K_HOST_CMD, int cmd);

Le périphérique dsp56k est un périphérique caractère, ayant un numéro majeur de 55 et un numéro mineur de 0.

Le DSP 56001 Motorola est un processeur de signal numérique 24 bits entièrement programmable, que l'on trouve dans les ordinateurs compatibles avec l'Atari Falcon 030. Le fichier spécial dsp56k sert à commander le DSP 56001, pour envoyer ou recevoir des signaux sur le port hôte.

Pour envoyer un flux de signal vers le processeur, utilisez write(2) sur le périphérique, et pour en recevoir, utilisez read(2). Les données peuvent être émises ou reçues par blocs de 8, 16, 24 ou 32 bits du côté hôte, mais seront toujours vues comme des blocs de 24 bits du côté du DSP 56001.

Les appels ioctl(2) suivants permettent de commander le périphérique dsp56k :

Réinitialise le DSP 56001 et télécharge un programme. Le troisième paramètre de l'appel ioctl(2) doit être un pointeur sur une struct dsp56k_upload dont le champ bin pointe sur un programme DSP 56001 binaire. Le champ len doit contenir la longueur du programme en mots de 24 bits.
Configure la taille des mots émis. Les valeurs autorisées se trouvent dans l'intervalle 1 à 4, correspondant au nombre d'octets envoyés à la fois. Ces données seront soit complétées avec des octets de valeur zéro, soit tronquées pour s'aligner sur le format natif 24 bits du DSP 56001.
Configure la taille des mots reçus. Les valeurs autorisées se trouvent dans l'intervalle 1 à 4, correspondant au nombre d'octets reçus en une fois. Ces données seront soit complétées avec des zéros, soit tronquées pour s'aligner sur le format natif 24 bits du DSP 56001.
Lire ou écrire les attributs d'hôte. Ces attributs sont représentés par 4 bits à usage général qui peuvent être lus aussi bien par l'ordinateur hôte que par le DSP 56001. Les bits 0 et 1 peuvent être écrits par l'hôte, et les bits 2 et 3 peuvent être écrits par le DSP 56001.
Pour accéder aux attributs d'hôte, le troisième paramètre de l'appel ioctl(2) doit être un pointeur sur une struct dsp56k_host_flags. Si les bits 0 ou 1 sont à 1 dans le champ dir, le bit correspondant de out sera écrit dans les attributs d'hôte. L'état des attributs d'hôte sera renvoyé dans les quatre bits de poids faible du membre status.
Envoie une commande d'hôte. Les valeurs autorisées sont dans l'intervalle 0 à 31 et correspondent à un numéro de commande (définie par l'utilisateur) manipulé par le programme tournant sur le DSP 56001.

/dev/dsp56k

linux/include/asm-m68k/dsp56k.h, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/, DSP56000/DSP56001 Digital Signal Processor User's Manual

Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

22 mars 2021 Linux