共用方式為


NFC CX 序列處理

不同廠商的 NFCC 韌體所實作的大多數非標準 NCI 功能和擴充功能都與晶片組配置、韌體下載和硬體調整有關。 NFC用戶端驅動程式可以藉由註冊NFC CX所公開的特定驅動程式序列來支援這些非標準延伸模組。 用戶端驅動程式會透過 NfcCxRegisterSequenceHandler 函式註冊特定序列處理常式。 它通常會在初始化期間完成,而且應該在 NfcCxDeviceInitialize 之後叫用。 這些處理常式會在裝置關機期間呼叫 NfcCxUnRegisterSequenceHandler 來取消註冊。 叫用用戶端驅動程式的序列處理常式回呼之後,NFC CX 驅動程式不會發出任何 NCI 命令,直到 NFC 用戶端驅動程式完成其處理為止。 這些序列處理常式回呼設計為非同步,因此可讓用戶端在通知 NFC CX 完成之前,向控制器發出任意數目的 I/O 要求。 NFC CX 使用看門狗計時器機制來判定程式卡住的狀態。 如果監視程式計時器在用戶端完成序列處理常式之前到期,則會觸發錯誤檢查,而 UMDF 架構會終止 UMDF 主機進程。

以下是 NFC 用戶端驅動程式作為序列處理程序的一部分來實作其他邏輯時的要求:

  • NFC 用戶端在處理這些序列時傳送的任何 NCI 命令都應確保不會違反 NFC CX 所指定的目前狀態完整性。 因此,NFC 客戶端必須滿足此要求,以確保 NFC 設備正常運行。 例如,處理初始化完成序列時,用戶端驅動程式不應該發出 NCI CORE_RESET_CMD來重設晶片組。
  • NFC 用戶端驅動程式必須確保其向下傳送至控制器的 NCI 命令所產生的 NCI 回應和通知不會傳送至 NFC CX 的 NfcCxNciReadNotification 函式。 這是必需的,否則NFC CX NCI狀態機將與NFCC交換命令的過程中失去同步。