Partager via


Gestion des séquences NFC CX

La plupart des fonctionnalités et extensions NCI non standard implémentées par le microprogramme NFCC de différents fournisseurs sont liées à la configuration du microprogramme, au téléchargement du microprogramme et au réglage matériel. Ces extensions non-standard peuvent être prises en charge par le pilote client NFC en s'enregistrant aux séquences spécifiques de pilotes exposées par NFC CX. Le pilote client enregistre des gestionnaires de séquences spécifiques via la fonction NfcCxRegisterSequenceHandler . Elle est généralement effectuée lors de l’initialisation et doit être appelée après NfcCxDeviceInitialize. Ces gestionnaires sont désinscrits en utilisant NfcCxUnRegisterSequenceHandler pendant l’arrêt de l’appareil. Après que le rappel du gestionnaire de séquences du pilote client a été appelé, le pilote NFC CX n'émettra aucune commande NCI tant que le pilote client NFC n'aura pas terminé son traitement. Ces rappels de gestionnaire de séquences sont conçus pour être asynchrones, ce qui permet au client d’émettre un nombre quelconque de demandes d’E/S au contrôleur avant d’avertir le CX NFC de sa fin. NFC CX utilise un mécanisme de minuterie de surveillance pour détecter les états suspendus. Si le minuteur de surveillance expire avant l’achèvement du gestionnaire de séquences par le client, une vérification de bogue est déclenchée et le processus hôte UMDF est arrêté par l’infrastructure UMDF.

Voici les conditions requises pour le pilote client NFC dans l’implémentation d’une logique supplémentaire dans le cadre du gestionnaire de séquences :

  • Toutes les commandes NCI envoyées par le client NFC lors de la gestion de ces séquences doivent s’assurer que l’intégrité de l’état actuel spécifié par le NFC CX n’est pas violée. Par conséquent, le client NFC doit s’occuper de cette exigence pour garantir le bon fonctionnement de l’appareil NFC. Par exemple, lors de la gestion de la séquence complète d’initialisation, le pilote client ne doit pas émettre de CORE_RESET_CMD NCI pour réinitialiser le microprogramme.
  • Le pilote client NFC doit s'assurer que les réponses et notifications NCI générées par les commandes NCI qu'il envoie au contrôleur ne sont pas envoyées à la fonction NfcCxNciReadNotification de NFC CX. Cela est nécessaire, car sinon, l'automate d'états NFC CX NCI se désynchroniserait avec les commandes qu'il échange avec le NFCC.