1 找到官网,获取源码包
NXP NFC移植源码
https://github.com/NXPNFCProject
固件
https://github.com/NXP/nfc-NXPNFCC_FW/tags

2 主要介绍源码移植
打开https://github.com/NXPNFCProject
下载对于源码包放到工程对于目录
nfcandroid_nfc_hidlimpl-master -->hardware/nxp/nfc目录下
nfcandroid_secureelement-master -->hardware/nxp/secure_element目录下
NFC_NCIHAL_libnfc-nci-master-->system/nfc目录下
NXPNFC_Reference-master-->vendor/nxp目录下
NFC_NCIHAL_base-master-->frameworks/base目录下,这个目录的代码移植完毕,需要删除对于obj(或用make clean)再重新编译.

i2c节点驱动代码
NXPNFC_I2CDriver-master-->kernel-4.9/drivers/misc/mediatek/nfc/
修改对应的makeFile,添加编译进去

3 其它注意点
DWS,配置i2c速率,Ven,DWL,IRQ等GPIO的读中断.
dts配置.配置i2c地址,速率,Ven,DWL,IRQ等GPIO 的dts

如果使用外部系统提供的CLK,需要接CLR_REQ脚,CLR_REQ时钟请求脚,由NXP固件控制,当需要外部时钟时(读NFC标签才需要),CLK_REQ拉高,不接时,用NFC参考电路模块使用的时钟.

DWL是需要升级固件时的控制脚.有些NFC模块一定要拉低才能正常工作,否则认为进入升级状态.

移植完毕后,开机完成就有NFC设备初始化,通过打印LOG确定i2c是否初始化成功,固件是否初始化成功.

4 LOG 分析
I2C总线通信成功LOG
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Tml Reader Thread Started................
03-21 09:39:52.101   399  1692 D NxpTml  : PN54X - Tml Writer Thread Started................
03-21 09:39:52.101   399  1692 D NxpTml  : PN54X - Tml Writer Thread Running................
03-21 09:39:52.101   399  1694 D NxpHal  : thread started
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Read requested.....
03-21 09:39:52.101   399   399 D         : sem_timedwait() succeeded
03-21 09:39:52.101   399  1691 D NxpTml  : PN54X - Invoking I2C Read.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Write requested.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.102   399  1692 D NxpNciX : len =   4 => 20000100
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - I2C Write successful.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Posting Fresh Write message.....
03-21 09:39:52.102   399  1692 D NxpTml  : PN54X - Tml Writer Thread 
....
....
....
03-21 09:39:52.107   399  1691 D NxpTml  : PN54X - Read requested.....
03-21 09:39:52.107   399  1691 D NxpTml  : PN54X - Invoking I2C Read.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Write requested.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Invoking I2C Write.....
03-21 09:39:52.108   399  1692 D NxpNciX : len =   5 => 2001020000
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - I2C Write successful.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Posting Fresh Write message.....
03-21 09:39:52.108   399  1692 D NxpTml  : PN54X - Tml Writer Thread Running................
03-21 09:39:52.108   399  1694 D NxpHal  : write successful status = 0x0
03-21 09:39:52.108   399   399 D NxpHal  : Response timer started
03-21 09:39:52.108   399   399 D NxpHal  : Waiting after ext cmd sent
03-21 09:39:52.109   399  1691 D NxpTml  : PN54X - I2C Read successful.....len = 39
03-21 09:39:52.109  1627  1627 V MediaProvider: test album art path: /storage/emulated/0/Android/data/com.android.providers.media/albumthumbs
03-21 09:39:52.109   399  1691 D NxpTml  : PN54X - Posting read message.....

MT6762平台NXP NFC代码移植要点相关推荐

  1. NXP Nfc模块Framework层移植遇到的坑【二】

    8173_M平台下移植NXP的Nfc模块时遇到的问题,同样也是 hal 层与 kernel 通信时出错,不过由于这个项目没有量产计划,所以供应商的支持也比较少,最后的解决方案是 Framework 层 ...

  2. NFC在Android平台的架构与移植

    原创地址:http://blog.csdn.net/dearsq/article/details/50585287 转载请注明,谢谢! NFC Architecture in Android Syst ...

  3. PS2手柄代码移植-合泰平台

    PS2手柄代码移植-合泰平台 1.PS2手柄端口及通讯协议 PS2手柄的通讯协议是SPI协议是一种高速的.全双工.同步的通信总线,并且在芯片的管脚上只占用四根线(DI.DO.CS.CLK),PS2手柄 ...

  4. NFC功能移植pn54x系列

    转自:http://blog.csdn.net/dearsq/article/details/50585287 尊重原创,谢谢分享. NFC Architecture in Android Syste ...

  5. 基于MPI的H.264并行编码代码移植与优化

    2010 03 25 基于MPI的H.264并行编码代码移植与优化 范 文 洛阳理工学院计算机信息工程系 洛阳 471023 摘 要 H.264获得出色压缩效果和质量的代价是压缩编码算法复杂度的增加. ...

  6. tar在linux编译为exe,将Linux代码移植到Windows的简单方法 1

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果 ...

  7. 将Linux代码移植到Windows的简单方法

    将Linux代码移植到Windows的简单方法 一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如 ...

  8. 将 5 万行 Java 代码移植到 Go 学到的经验

    原文地址: Lessons learned porting 50k loc from Java to Go 原文作者:Krzysztof Kowalczyk 译文出处: https://blog.ko ...

  9. IMX6Q的硬编码(VPU)的工程代码移植

    IMX6Q的硬编码(VPU)的简化代码移植 文章目录 IMX6Q的硬编码(VPU)的简化代码移植 简介 imx-vpuwrap的代码下载与编译 代码的下载 代码的编译 示例代码的研读 示例代码的移植 ...

最新文章

  1. ikbc机械键盘打字出现重复_抖音开啤酒小姐姐同款面具,ikbc白无垢樱花机械键盘开箱体验...
  2. awk rand函数问题
  3. Python命令行参数解析模块getopt使用实例
  4. CUBRID学习笔记 42 Hierarchical QuerySQL层级查询
  5. Eclipse 安装Spring tool suite 解决官网下载jar文件无法安装/安装过程出错,及如何下载对应版本zip文件等问题,避坑
  6. 4阶范德蒙德行列式例题_行列式的性质和计算问题
  7. 基于Vue开发一个日历组件
  8. python里的apply,applymap和map的区别
  9. 将指定内容写入目标文件(日志)
  10. css实现圆球旋像水波波动_手机拍屏幕烦人的“水波纹”小米10靠它给解决掉了...
  11. Flutter基础—应用实例
  12. 智慧安防体系包括哪些智能化设备?
  13. 设计模式-第五篇之命令模式
  14. FPGA 闪烁LED
  15. Ubuntu16.04安装(QQ.exe)
  16. 如何用SEGGER工具烧写程序,烧写地址详解
  17. 前端灰度发布 你知多少?
  18. 数据,源码防泄密解决方案
  19. html人物属性代码,辐射4初始人物超强属性代码一览
  20. 第二类换元法之倒代换习题

热门文章

  1. YOLOv8详解 【网络结构+代码+实操】
  2. JVM深度学习系列之内存使用细节(三)
  3. 饥荒联机版把服务器删掉了怎么找回,饥荒联机版存档丢失怎么办 饥荒存档教程...
  4. uoj#420. 【集训队作业2018】矩形(组合数学)
  5. 开源前夕先给大家赞赏一下我用C语言开发的云贴吧 站点自己主动兼容-移动、手机、PC自己主动兼容云贴吧...
  6. Excel输出高清图片
  7. 计算机操作系统课后习题答案
  8. 用USBoot制作USB启动盘
  9. 今天面了个腾讯拿25K出来的,让我见识到了开发基础的天花板
  10. DTS入门知识(转载)