PN722x_如何透過conf檔案修改EEPROM

關鍵字 :NXPPN722xEEPROM

如何修改PN7720 EEPROM register之值?

 

案子開發過程中,對於不同需求會將NFC進行不同的設定。

本篇將介紹如何透過NXP tool Cockpit與新增NCI指令方式來修改EEPROM register之值。

 

此篇將以EEPROM address - DPC_CONFIG (0x0068)作為範例:

透過NXP tool Cockpit進行修改

成功與device連線後,Cockpit操作介面如上。

藍框處:

在”Address”處輸入想讀取(Read EEPROM)/改寫(Write EEPROM)的位址。

“Data”可輸入修改的值;如使用讀取功能就會顯示讀取後得到的值。

紅框處:

顯示執行結果。

勾選”Display FrontEnd Packets”,Log Monitor會顯示執行讀取/改寫時DH與NFCC溝通時傳輸的指令。

 

透過新增指令進行修改

 

在Android的環境,我們可以透過NCI指令對指定的register address進行修改。

NCI tag與address有著固定的對應關係,每個NCI tag儲存著8 bytes的資料:

 

A2 00 => 0x0000 ~ 0x0007
A2 01 => 0x0008 ~ 0x000F
A2 02 => 0x0010 ~ 0x0017
…
…
A2 0D => 0x0068 ~ 0x006F
…
…

 

本次範例的DPC_CONFIG 0x0068是屬於A2 0D的範圍。

透過NCI CORE_GET_CMD讀取A2 0D範圍內8個register之值:

 

20 03 03 01 A2 0D

 

得到的回應如下:

40 03 0D 00 01 A2 0D 08 77 02 01 14 6A 2A 0A 07

 

對應register的值如下:

 

77 => 0x0068
02 => 0x0069
01 => 0x006A
14 => 0x006B
6A => 0x006C
2A => 0x006D
0A => 0x006E
07 => 0x006F

 

如果要進行改寫的操作可以利用NCI CORE_SET_CMD。

只想改寫0x0068:

 

20 02 05 01 A2 0D 01 77

 

想改寫0x0068、0x0069、0x006A:

 

20 02 07 01 A2 0D 03 77 02 01

 

一次改寫全部8個bytes:

 

20 02 0C 01 A2 0D 08 77 02 01 14 6A 2A 0A 07

 

後續即可將想改想寫register之值加入.conf檔案即可。

 

以上就是修改EEPROM的兩種方式。

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源

NXP: https://www.nxp.com/docs/en/application-note/AN14335.pdf