PN5190 (B0/B1) firmware update using Linux port PHBAL_REG_TYPE_USER_SPI (raspberryPi example)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

PN5190 (B0/B1) firmware update using Linux port PHBAL_REG_TYPE_USER_SPI (raspberryPi example)

677 次查看
jonathanr
Contributor I

Hi,

We are currently integrating PN5190(B0/B1) into our product.
We had good success with NFCRdLib and the discovery loop demo to show basic functionality. We use the userspace spi BAL mode with the irq_poll kernel module.

We were looking into performing a firmware update for these devices directly using the same integration. We did have a look at SW6592. After a couple of deep dive, it is unclear to us if we can reuse this directly with "simple" porting.

When we compare the code for let's say putting it in Download mode with phhalHw_Pn5190_Instr_SwitchModeDownload from NFCRdLib, we doo see a couple of place where they differ (waiting for IRQ etc.).

So essentially, did we miss the rest of the steps in NFCRdLib or is the expectation to fully port somehow SW6592 from "scratch" (provide phhalHw_Pn5190_Instr_SwitchModeDownload equivalent for all other HDLL commands).

Thing are a bit confusing to be honest and it is unclear how much of an effort this is really. Hopefully we missed something obvious here.

Thanks  

标签 (1)
0 项奖励
回复
4 回复数

590 次查看
jonathanr
Contributor I

So after quite a bit of debugging, looks like the first "read" is done by the "example" irq handler and is thus interfering when in download mode. At least this is progress but I need to make sure things are properly wired up. For now, no need to look into this further since I think I should be able to progress on my side a bit. Will report back if in the end we got to something working or not.

0 项奖励
回复

626 次查看
KaiLi
NXP TechSupport
NXP TechSupport

Hello @jonathanr 

The standard readerlibrary is different from the library for updating firmware. There is a conflict between the two at the bottom layer, so they need to be integrated and compiled separately.

0 项奖励
回复

609 次查看
jonathanr
Contributor I

Hi,

Ok. A difference a which level?

I was somewhat able to move forward a bit but I am hitting some weird things.

I ended up porting/implementing `phDlhalHwBalExchange` using `phhalHw_Pn5190_Send` and the receive equivalent (which include the wait on irq based on `phOsal_EventPend/Clear`.
I did this since I saw that the download lib had a defined implementation for PHBAL_REG_TYPE_KERNEL_SPI, leaning me into considering that I might only have to provide an implementation for that specific function (`phDlhalHwBalExchange`) for ` PHBAL_REG_TYPE_USER_SPI`.

From there, I seems to be able to put the device in download mode using `phhalHw_Pn5190_Instr_SwitchModeDownload` from the NfcRdLib, then invoke secure download functions/command.

Looking at what we send and trying out getDieId, getVersion, SoftReset. I think the command (HDLL) do make their way correctly to the reader but looking at the response is leaving me puzzled since they absolutely do not match what we expect. The softreset is the one leading me to think the command do reach the device since after a soft reset command I cannot discuss with the device anymore.


# This is get version
Sending buffer (9 bytes): 7F 00 04 F1 00 00 00 6E EF
Received buffer (13 bytes): FF 00 00 D1 26 FF FF FF FF FF FF FF FF
# ^ The response make little sense. The direction bytes looks good but the header bytes are empty somehow...

#GetDieId func
Sending buffer (9 bytes): 7F 00 04 F4 00 00 00 D2 AA
Received buffer (25 bytes): FF 00 00 0D D0 94 9E BD 38 BD D8 4E 6C 44 31 DB AA FF FF FF FF FF FF FF FF
# The answer is bigger as one would expect from the getID command but again the header bytes make no sense and fail on validation (size).

 

I will be hooking up a logic analyser today to have a hard look at what exactly reach the device.

So essentially my question here is: is there a difference of implementation between the NfcRdLib and the SecureDowload lib at the `phbalReg_Exchange` (DAL) level?
because I did reuse the DAL implementation from `NfcRdLib` .

0 项奖励
回复

597 次查看
jonathanr
Contributor I

The sending of a GetDieId command:

 

Screenshot 2025-10-17 at 11.45.09 AM.png

The response:

Screenshot 2025-10-17 at 11.39.50 AM.png

Looks like the device do answer back in multiple packets and the current BAL exchange somehow only surface the second one somehow.

So yeah any pointer as to if the DAL from SecureDownload is different or not would help.

Also any pointer on actually support USER_SPI overall in SecureDownload properly also.

标记 (1)
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2185971%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8%20Linux%20%E7%AB%AF%E5%8F%A3%20PHBAL_REG_TYPE_USER_SPI%EF%BC%88%E4%BB%A5%20raspberryPi%20%E4%B8%BA%E4%BE%8B%EF%BC%89%E6%9B%B4%E6%96%B0%20PN5190%EF%BC%88B0%2FB1%EF%BC%89%E5%9B%BA%E4%BB%B6%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2185971%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E7%9B%AE%E5%89%8D%E6%AD%A3%E5%9C%A8%E5%B0%86%20PN5190%20(B0%2FB1)%20%E9%9B%86%E6%88%90%E5%88%B0%E6%88%91%E4%BB%AC%E7%9A%84%E4%BA%A7%E5%93%81%E4%B8%AD%E3%80%82%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20NFCRdLib%20%E5%92%8C%E5%8F%91%E7%8E%B0%E5%BE%AA%E7%8E%AF%E6%BC%94%E7%A4%BA%E6%9D%A5%E5%B1%95%E7%A4%BA%E5%9F%BA%E6%9C%AC%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%8F%96%E5%BE%97%E4%BA%86%E5%BE%88%E5%A5%BD%E7%9A%84%E6%95%88%E6%9E%9C%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%20spi%20BAL%20%E6%A8%A1%E5%BC%8F%E5%92%8C%20irq_poll%20%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E8%80%83%E8%99%91%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E9%9B%86%E6%88%90%E6%96%B9%E5%BC%8F%E7%9B%B4%E6%8E%A5%E5%AF%B9%E8%BF%99%E4%BA%9B%E8%AE%BE%E5%A4%87%E8%BF%9B%E8%A1%8C%E5%9B%BA%E4%BB%B6%E6%9B%B4%E6%96%B0%E3%80%82%E6%88%91%E4%BB%AC%E7%A1%AE%E5%AE%9E%E7%9C%8B%E8%BF%87%E4%BA%86%20%3CSPAN%3ESW6592%E3%80%82%E7%BB%8F%E8%BF%87%E5%87%A0%E6%AC%A1%E6%B7%B1%E5%85%A5%E7%9A%84%E7%A0%94%E7%A9%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E6%B8%85%E6%A5%9A%E6%88%91%E4%BB%AC%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%20%22%20%E7%AE%80%E5%8D%95%E7%9A%84%20%22%20%E7%A7%BB%E6%A4%8D%E7%9B%B4%E6%8E%A5%E9%87%8D%E5%A4%8D%E4%BD%BF%E7%94%A8%E5%AE%83%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%BD%93%E6%88%91%E4%BB%AC%E5%B0%86%E6%AF%94%E6%96%B9%E8%AF%B4%E5%B0%86%E5%85%B6%E7%BD%AE%E4%BA%8E%E4%B8%8B%E8%BD%BD%E6%A8%A1%E5%BC%8F%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%8E%E6%9D%A5%E8%87%AA%20NFCRDlib%20%E7%9A%84%20phalHW_PN5190_instr_switchModeDownload%20%E8%BF%9B%E8%A1%8C%E6%AF%94%E8%BE%83%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E7%A1%AE%E5%AE%9E%E7%9C%8B%E5%88%B0%E4%BA%86%E5%AE%83%E4%BB%AC%E6%9C%89%E5%87%A0%E4%B8%AA%E4%B8%8D%E5%90%8C%E4%B9%8B%E5%A4%84%EF%BC%88%E7%AD%89%E5%BE%85%20IRQ%20%E7%AD%89%EF%BC%89%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E4%BB%8E%E6%9C%AC%E8%B4%A8%E4%B8%8A%E8%AE%B2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%98%AF%E9%94%99%E8%BF%87%E4%BA%86%20NFCRDlib%20%E4%B8%AD%E7%9A%84%E5%85%B6%E4%BD%99%E6%AD%A5%E9%AA%A4%EF%BC%8C%E8%BF%98%E6%98%AF%E5%B8%8C%E6%9C%9B%E4%BB%A5%E6%9F%90%E7%A7%8D%E6%96%B9%E5%BC%8F%E4%BB%8E%20%22%20scratch%20%22%20%E4%B8%AD%E5%AE%8C%E5%85%A8%E7%A7%BB%E6%A4%8D%20SW6592%EF%BC%88%E4%B8%BA%E6%89%80%E6%9C%89%E5%85%B6%E4%BB%96%20HDLL%20%E5%91%BD%E4%BB%A4%E6%8F%90%E4%BE%9B%20phhalhw_PN5190_instr_switchmodeDownload%20%E7%AD%89%E6%95%88%E9%A1%B9%EF%BC%89%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%AF%B4%E5%AE%9E%E8%AF%9D%EF%BC%8C%E4%BA%8B%E6%83%85%E6%9C%89%E7%82%B9%E4%BB%A4%E4%BA%BA%E5%9B%B0%E6%83%91%EF%BC%8C%E7%9B%AE%E5%89%8D%E5%B0%9A%E4%B8%8D%E6%B8%85%E6%A5%9A%E8%BF%99%E5%88%B0%E5%BA%95%E9%9C%80%E8%A6%81%E4%BB%98%E5%87%BA%E5%A4%9A%E5%B0%91%E5%8A%AA%E5%8A%9B%E3%80%82%E5%B8%8C%E6%9C%9B%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BF%99%E9%87%8C%E9%94%99%E8%BF%87%E4%BA%86%E4%B8%80%E4%BA%9B%E6%98%8E%E6%98%BE%E7%9A%84%E4%B8%9C%E8%A5%BF%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%B0%A2%E8%B0%A2%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2185971%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ENFC%E8%AF%BB%E5%8D%A1%E5%99%A8%E5%BA%93%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2188511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PN5190%20(B0%2FB1)%20firmware%20update%20using%20Linux%20port%20PHBAL_REG_TYPE_USER_SPI%20(raspberryPi%20example)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2188511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%BB%8F%E8%BF%87%E4%B8%80%E7%95%AA%E8%B0%83%E8%AF%95%EF%BC%8C%E7%AC%AC%E4%B8%80%E4%B8%AA%22%E8%AF%BB%E5%8F%96%22%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%94%B1%22%E7%A4%BA%E4%BE%8B%22%20irq%20%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%E5%AE%8C%E6%88%90%E7%9A%84%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%9C%A8%E4%B8%8B%E8%BD%BD%E6%A8%A1%E5%BC%8F%E4%B8%8B%E4%BC%9A%E4%BA%A7%E7%94%9F%E5%B9%B2%E6%89%B0%E3%80%82%E8%87%B3%E5%B0%91%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E8%BF%9B%E6%AD%A5%EF%BC%8C%E4%BD%86%E6%88%91%E9%9C%80%E8%A6%81%E7%A1%AE%E4%BF%9D%E7%BA%BF%E8%B7%AF%E8%BF%9E%E6%8E%A5%E6%AD%A3%E7%A1%AE%E3%80%82%E7%9B%AE%E5%89%8D%EF%BC%8C%E6%88%91%E8%AE%A4%E4%B8%BA%E6%88%91%E8%BF%99%E8%BE%B9%E5%BA%94%E8%AF%A5%E5%8F%AF%E4%BB%A5%E5%8F%96%E5%BE%97%E4%B8%80%E4%BA%9B%E8%BF%9B%E5%B1%95%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%B2%A1%E6%9C%89%E5%BF%85%E8%A6%81%E8%BF%9B%E4%B8%80%E6%AD%A5%E7%A0%94%E7%A9%B6%E3%80%82%E6%88%91%E4%BB%AC%E4%BC%9A%E5%90%91%E6%82%A8%E6%8A%A5%E5%91%8A%E6%9C%80%E7%BB%88%E6%98%AF%E5%90%A6%E8%83%BD%E6%88%90%E5%8A%9F%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2188411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PN5190%20(B0%2FB1)%20firmware%20update%20using%20Linux%20port%20PHBAL_REG_TYPE_USER_SPI%20(raspberryPi%20example)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2188411%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%8F%91%E9%80%81%20GetDieId%20%E5%91%BD%E4%BB%A4%EF%BC%9A%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202025-10-17%20at%2011.45.09%E2%80%AFAM.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-10-17%20at%2011.45.09%E2%80%AFAM.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361455i7C9643EE5B552954%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Screenshot%202025-10-17%20at%2011.45.09%E2%80%AFAM.png%22%20alt%3D%22Screenshot%202025-10-17%20at%2011.45.09%E2%80%AFAM.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E7%AD%94%E5%A4%8D%E6%98%AF%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202025-10-17%20at%2011.39.50%E2%80%AFAM.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-10-17%20at%2011.39.50%E2%80%AFAM.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361452i976A0195065BD998%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Screenshot%202025-10-17%20at%2011.39.50%E2%80%AFAM.png%22%20alt%3D%22Screenshot%202025-10-17%20at%2011.39.50%E2%80%AFAM.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E7%9C%8B%E6%9D%A5%E8%AE%BE%E5%A4%87%E7%A1%AE%E5%AE%9E%E5%9C%A8%E5%A4%9A%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%8C%85%E4%B8%AD%E5%9B%9E%E7%AD%94%EF%BC%8C%E8%80%8C%E5%BD%93%E5%89%8D%E7%9A%84%20BAL%20%E4%BA%A4%E6%8D%A2%E4%B8%8D%E7%9F%A5%E4%BD%95%E6%95%85%E5%8F%AA%E8%83%BD%E4%BB%A5%E6%9F%90%E7%A7%8D%E6%96%B9%E5%BC%8F%E6%98%BE%E7%A4%BA%E7%AC%AC%E4%BA%8C%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%8C%85%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%83%BD%E6%8C%87%E5%87%BA%20SecureDownload%20%E7%9A%84%20DAL%20%E6%98%AF%E5%90%A6%E4%B8%8D%E5%90%8C%EF%BC%8C%E5%B0%86%E4%BC%9A%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%AD%A4%E5%A4%96%EF%BC%8C%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E6%8C%87%E9%92%88%E5%8F%AF%E4%BB%A5%E6%AD%A3%E7%A1%AE%E5%9C%B0%E6%8C%87%E5%87%BA%20SecureDownload%20%E6%98%AF%E5%90%A6%E7%9C%9F%E6%AD%A3%E6%94%AF%E6%8C%81%20USER_SPI%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2188352%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PN5190%20(B0%2FB1)%20firmware%20update%20using%20Linux%20port%20PHBAL_REG_TYPE_USER_SPI%20(raspberryPi%20example)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2188352%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3EOK%E3%80%82%E5%93%AA%E4%B8%80%E7%BA%A7%E7%9A%84%E5%B7%AE%E5%BC%82%EF%BC%9F%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E5%A4%9A%E5%B0%91%E8%83%BD%E5%A4%9F%E5%89%8D%E8%BF%9B%E4%B8%80%E4%BA%9B%EF%BC%8C%E4%BD%86%E6%88%91%E9%81%87%E5%88%B0%E4%BA%86%E4%B8%80%E4%BA%9B%E5%A5%87%E6%80%AA%E7%9A%84%E4%BA%8B%E6%83%85%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%88%91%E4%BD%BF%E7%94%A8%20%60phhalHw_Pn5190_Send%60%20%E5%92%8C%E7%AD%89%E4%BB%B7%E7%9A%84%E6%8E%A5%E6%94%B6%EF%BC%88%E5%8C%85%E6%8B%AC%E5%9F%BA%E4%BA%8E%20%60phOsal_EventPend%2FClear%60%20%E7%9A%84%20irq%20%E7%AD%89%E5%BE%85%EF%BC%89%E7%A7%BB%E6%A4%8D%2F%E5%AE%9E%E7%8E%B0%E4%BA%86%20%60phDlhalHwBalExchange%60%E3%80%82%3CBR%20%2F%3E%E6%88%91%E4%B9%8B%E6%89%80%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%81%9A%EF%BC%8C%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E7%9C%8B%E5%88%B0%E4%B8%8B%E8%BD%BD%E5%BA%93%E4%B8%AD%E5%B7%B2%E7%BB%8F%E5%AE%9A%E4%B9%89%E4%BA%86PHBAL_REG_TYPE_KERNEL_SPI%E7%9A%84%E5%AE%9E%E7%8E%B0%EF%BC%8C%E8%BF%99%E4%BD%BF%E6%88%91%E5%80%BE%E5%90%91%E4%BA%8E%E8%80%83%E8%99%91%E6%88%91%E5%8F%AF%E8%83%BD%E5%8F%AA%E9%9C%80%E8%A6%81%E4%B8%BA%60PHBAL_REG_TYPE_USER_SPI%60%E7%9A%84%E7%89%B9%E5%AE%9A%E5%87%BD%E6%95%B0%EF%BC%88%60phdlHalhwbalExchange%60%EF%BC%89%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%AE%9E%E7%8E%B0%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%BB%8E%E9%82%A3%E4%BB%A5%E5%90%8E%EF%BC%8C%E6%88%91%E4%BC%BC%E4%B9%8E%E8%83%BD%E5%A4%9F%E4%BD%BF%E7%94%A8%20NFCRDlib%20%E4%B8%AD%E7%9A%84%20%60phalhw_pn5190_instr_switchModeDownload%60%20%E5%B0%86%E8%AE%BE%E5%A4%87%E7%BD%AE%E4%BA%8E%E4%B8%8B%E8%BD%BD%E6%A8%A1%E5%BC%8F%EF%BC%8C%E7%84%B6%E5%90%8E%E8%B0%83%E7%94%A8%E5%AE%89%E5%85%A8%E4%B8%8B%E8%BD%BD%E5%8A%9F%E8%83%BD%2F%E5%91%BD%E4%BB%A4%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%9F%A5%E7%9C%8B%E6%88%91%E4%BB%AC%E5%8F%91%E9%80%81%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E5%B9%B6%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20getDieId%E3%80%81getVersion%20%E5%92%8C%20SoftReset%E3%80%82%E6%88%91%E8%AE%A4%E4%B8%BA%E5%91%BD%E4%BB%A4%EF%BC%88HDLL%EF%BC%89%E7%A1%AE%E5%AE%9E%E6%AD%A3%E7%A1%AE%E5%9C%B0%E4%BC%A0%E5%88%B0%E4%BA%86%E8%AF%BB%E5%8F%96%E5%99%A8%E4%B8%8A%EF%BC%8C%E4%BD%86%E6%9F%A5%E7%9C%8B%E5%93%8D%E5%BA%94%E5%8D%B4%E8%AE%A9%E6%88%91%E7%99%BE%E6%80%9D%E4%B8%8D%E5%BE%97%E5%85%B6%E8%A7%A3%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%BB%AC%E5%AE%8C%E5%85%A8%E4%B8%8D%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E9%A2%84%E6%9C%9F%E3%80%82%E8%BD%AF%E5%A4%8D%E4%BD%8D%E5%91%BD%E4%BB%A4%E4%BD%BF%E6%88%91%E8%A7%89%E5%BE%97%E5%91%BD%E4%BB%A4%E7%A1%AE%E5%AE%9E%E5%88%B0%E8%BE%BE%E4%BA%86%E8%AE%BE%E5%A4%87%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%9C%A8%E8%BD%AF%E5%A4%8D%E4%BD%8D%E5%91%BD%E4%BB%A4%E4%B9%8B%E5%90%8E%E6%88%91%E6%97%A0%E6%B3%95%E5%86%8D%E4%B8%8E%E8%AE%BE%E5%A4%87%E8%AE%A8%E8%AE%BA%E4%BA%86%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23%20This%20is%20get%20version%0ASending%20buffer%20(9%20bytes)%3A%207F%2000%2004%20F1%2000%2000%2000%206E%20EF%0AReceived%20buffer%20(13%20bytes)%3A%20FF%2000%2000%20D1%2026%20FF%20FF%20FF%20FF%20FF%20FF%20FF%20FF%0A%23%20%5E%20The%20response%20make%20little%20sense.%20The%20direction%20bytes%20looks%20good%20but%20the%20header%20bytes%20are%20empty%20somehow...%0A%0A%23GetDieId%20func%0ASending%20buffer%20(9%20bytes)%3A%207F%2000%2004%20F4%2000%2000%2000%20D2%20AA%0AReceived%20buffer%20(25%20bytes)%3A%20FF%2000%2000%200D%20D0%2094%209E%20BD%2038%20BD%20D8%204E%206C%2044%2031%20DB%20AA%20FF%20FF%20FF%20FF%20FF%20FF%20FF%20FF%0A%23%20The%20answer%20is%20bigger%20as%20one%20would%20expect%20from%20the%20getID%20command%20but%20again%20the%20header%20bytes%20make%20no%20sense%20and%20fail%20on%20validation%20(size).%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E6%88%91%E4%BB%8A%E5%A4%A9%E8%A6%81%E8%BF%9E%E6%8E%A5%E4%B8%80%E4%B8%AA%E9%80%BB%E8%BE%91%E5%88%86%E6%9E%90%E5%99%A8%EF%BC%8C%E4%BB%94%E7%BB%86%E7%9C%8B%E7%9C%8B%E8%AE%BE%E5%A4%87%E5%88%B0%E5%BA%95%E6%9C%89%E4%BB%80%E4%B9%88%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%89%80%E4%BB%A5%E6%9C%AC%E8%B4%A8%E4%B8%8A%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%EF%BC%9A%E5%9C%A8%20%60phbalReg_exchange%60%EF%BC%88DAL%EF%BC%89%E7%BA%A7%E5%88%AB%E4%B8%8A%EF%BC%8CNFCRDLib%20%E5%92%8C%20SecureDowload%20%E5%BA%93%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%9C%89%E5%8C%BA%E5%88%AB%E5%90%97%EF%BC%9F%3CBR%20%2F%3E%E5%9B%A0%E4%B8%BA%E6%88%91%E7%A1%AE%E5%AE%9E%E9%87%8D%E5%A4%8D%E4%BD%BF%E7%94%A8%E4%BA%86%20%60nfcrdLib%60%20%E4%B8%AD%E7%9A%84%20DAL%20%E5%AE%9E%E7%8E%B0%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2188099%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20PN5190%20(B0%2FB1)%20firmware%20update%20using%20Linux%20port%20PHBAL_REG_TYPE_USER_SPI%20(raspberryPi%20example)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2188099%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F255814%22%20target%3D%22_blank%22%3E%40jonathanr%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%A0%87%E5%87%86%E9%98%85%E8%AF%BB%E5%99%A8%E5%BA%93%E4%B8%8E%E6%9B%B4%E6%96%B0%E5%9B%BA%E4%BB%B6%E5%BA%93%E4%B8%8D%E5%90%8C%E3%80%82%E4%B8%A4%E8%80%85%E5%9C%A8%E5%BA%95%E5%B1%82%E5%AD%98%E5%9C%A8%E5%86%B2%E7%AA%81%EF%BC%8C%E5%9B%A0%E6%AD%A4%E9%9C%80%E8%A6%81%E5%88%86%E5%88%AB%E8%BF%9B%E8%A1%8C%E9%9B%86%E6%88%90%E5%92%8C%E7%BC%96%E8%AF%91%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E