NFC Controller
1 在NFC技术 最后介绍到NFC Stack通过HIDL技术获取到HAL Server,而该Server端通过HAL技术打开了NFC产商提供的so库。本篇就大概介绍下HAL这块是怎么和厂商NFC芯片交互的,一般厂商会提供对应芯片的一个so库,该so实现了HAL接口对应的函数,然后so库再与对应的芯片交互。这里以NXP产商的NFC芯片为列介绍下产商so库的初始化过程。
2 代码路径:system\nfc\halimpl\pn54x\,编译后生成nfc_nci_pn54x.default.so
3 初始化流程
HAL Server通过HAL加载上述的so库,我们就从这里开启我们的奇妙旅程吧。基本时序图如下:
NFC Controller Initialize
从上面的时序交互图中可以看出芯片产商提供的对应so库主要干了四件事:
1、HAL Server端获取到so中实现相关接口的 interface
2、打开NFC芯片
3、接受上层下发的数据,写入芯片
4、读取芯片中数据,上报给上层

2020-03-06 12:23:07