PN7120 NFC调试记录

PN7120 NFC模块从无法识别到稳定读卡的调试全记录 NFC控制器通过I2C接口与主控通信,其固件下载和天线匹配是影响读写性能的关键。PN7120作为高度集成的NFC芯片,内部集成ARM Cortex-M0内核和完整模拟前端,但上电时序、I2C上拉电阻和固件加载流程若处理不当,会导致初始化失败或读卡距离骤降。掌握这些底层原理,能显著提升工业手持终端等场景下的NFC通信稳定性。本文基于PN7120实战,详细拆解从硬件连接、固件下载到协议栈对接的完整调试过程,并给出实测数据与疑难排查方法。 阅读详情

PN7120 NFC调试记录

Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0


整个调试流程,基本上按照官方移植文档操作就可以了.NXP官方代码(Android Marshmallow 6.0.1):

https://github.com/NXPNFCLinux/nxpnfc_android_marshmallow

下载后目录里面有移植文档:AN11690 - NXPNCI Android Porting Guidelines.pdf,FactoryTestApp里面是测试工具.

1. 内核驱动

下载最新驱动,官方最新代码:

https://github.com/NXPNFCLinux/nxp-pn5xx;

修改drivers/misc/Kconfig,添加:

source "drivers/misc/nxp-pn5xx/Kconfig"

修改drivers/misc/Makefile,添加:

obj-$(CONFIG_NFC_NXP_PN5XX) += nxp-pn5xx/

修改Makefile

obj-$(CONFIG_NFC_NXP_PN5XX)                += pn5xx_i2c.o

然后内核menuconfig配置好就可以了;接着添加设备树,将以下节点添加到对应的i2c节点中:

+       pn544: pn544@28 {
+               compatible = "nxp,pn544";
+               reg = <0x28>;
+               clock-frequency = <400000>;
+               interrupt-gpios = <&gpio0 GPIO_B4 GPIO_ACTIVE_HIGH>;
+               enable-gpios = <&gpio0 GPIO_B3 GPIO_ACTIVE_HIGH>;
+               status = "okay";
+       };

2. Android适配

按照官方移植文档打上补丁,主要修改了以下几个目录文件:

external/libnfc-nci
frameworks/base/core
frameworks/base/nxp-nfc-gsma
packages/apps/Nfc

3. 遇到的问题

3.1 编译报错

我在打完补丁后编译报错,解决方法:

$ make update-api

3.2 Selinux权限

avc: denied信息:

[   31.889588]  [0:    logd.auditd:  185] type=1400 audit(1358771230.190:13): avc: denied { write } for pid=1040 comm=4173796E635461736B202331 name="libnfc-nxpConfigState.bin" dev="rknand_userdata" ino=24341 scontext=u:r:nfc:s0 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0

解决方法: 修改sepolicy/file_contexts添加以下内容:

/data/nfc(/.*)? u:object_r:nfc_data_file:s0

3.3 nfc_nci.pn54x.default.so不自动编译:

解决方法:官方移植文档中的模块名字写错了:

 PRODUCT_PACKAGES += \
     libnfc-nci \
     libnfc_nci_jni \
-    nfc_nci_pn54x.default \
+    nfc_nci.pn54x.default \
     NfcNci \
     Tag \
     com.android.nfc_extras
PN7120-NCI扩展实战:解锁NFC高级功能与低功耗优化 NFC控制器接口是嵌入式设备实现近场通信功能的核心组件,它定义了主机与控制器之间的标准通信协议。然而,标准协议往往为了通用性而牺牲了对特定芯片高级特性的支持。PN7120-NCI扩展正是恩智浦为PN7120 NFC控制器设计的专有功能集,它在标准NCI框架内,通过引入专有命令和参数,实现了对射频行为、功耗管理和特定协议(如MIFARE Classic)的精细控制。这项技术的核心价值在于,它允许开发者突破标准限制,深度优化设备的性能、功耗与兼容性。例如,通过扩展的TAG-CMD射频接口,可以高效、安全地操作M 阅读详情

相关推荐

PN7120低功耗卡检测与EMVCo配置优化实战指南

在嵌入式系统与物联网设备开发中,低功耗设计与射频通信可靠性是核心挑战。NFC技术作为近场通信的关键实现,其功耗优化与标准合规性直接影响产品续航与用户体验。低功耗卡检测(LPCD)通过周期性监测天线阻抗变化实现微安级待机,其核心在于阈值校准与检测周期配置,以平衡灵敏度与功耗。EMVCo标准则确保了支付场景下的交易安全与防碰撞可靠性,要求读卡器在复杂射频环境中精确管理多卡冲突。本文聚焦NXP PN7120控制器,深入解析其LPCD工作机制与EMVCo状态机配置,通过实战调优案例,帮助开发者解决功耗过高、误触发频

weixin_31774841的博客 289

调试日志:安卓设备之NFC

msm8953对应GPIOs 0-141,对应的GPIO Base Addr是从0开始。查看中断 cat /proc/interrupts。AndroidLiux驱动调试方法。nxp nfc pn547移植。adb 查看GPIO。

daisy.skye的博客 1766

NXP PN7120

NXP PN7120 NFC Chip,

高通 Android 12 调试产测NFC功能

2、第二种系统原生nfc 需要注意Android10以后PendingIntent类型发生变化,否则会报错提示。1、不管是上面二种那种方式 第一种如果使用这种.c执行shell脚本记得将系统nfc功能开关关闭 否则会冲突不生效哈。9、然后在手机界面打开NFC开关,不知道怎么打开或者手机设置搜索NFC哈,说明NFC功能正常了。、在AndroidManifest.xml中添加以下权限以及NFC TAG标签。8、在xml中添加nfc_tech_filter.xml文件 内容如下。5、其他原生识别NFC的方式。

郑敏 2555

富文本编辑器(可以同时添加文字和图片)

可以如同offer在文字旁边插入图片,并且一样实现了拍照获取图片,已经获取本地图片的功能.

反编译工具包

反编译必须的工具类,包含apktool.jar,apktool.bat,jd_gui.exe,dex2jar文件夹

NFC开发 —————实用工具以及开发文档(四)

       关于开发NFC必不可少的就是官方开发软件,以及开发文档,这篇文章给大家详细讲解一下,关于官方软件合集《文章末尾有下载地址》 文档资源:        有些开发者看到这么多工具肯定有困难选中症,不知道用哪个工具,不知道哪个是自己需要合适的,这里做一些详细讲解: Mifare Classic Tool (MCT) 一款用来读取/编辑/分析Mi..

拉莫帅的博客 9730

Titan_mobile:with具有JavaScript的本地iOS和Android应用

钛 欢迎来到Titanium开源项目。 Titanium为开发人员提供了一个成熟的平台,可以使用JavaScript构建完全本地的跨平台移动应用程序。 当前支持的本机平台是iOS和Android。 Titanium已获得OSI批准的Apache Public License(版本2)的许可。 有关详细信息,请参阅文件。 目录 产品特点 使用Titanium,您可以使用JavaScript编写应用程序代码。 Titanium的编译器会将您的应用程序代码编译为每个目标移动平台的有效本机可执行文件。 使用JavaScript构建的本机应用程序(无混合功能,无嵌入式W​​ebView) 应用程序经过编译并在本地运行并具有完整的脱机支持 支持本机平台UI控件(TabGroup(iOS),ActionBar(Android),AppBar(Windows)等) 支持watchOS目标 支持应用内SQL数据库 支持地理位置(指南针,地理位置,正向/反向查找) 支持相机(拍摄照片,播放和录制视频) 支持日历(创建和获取事件) 支持3D-Touch(监视和弹出,应用程序快捷方式等

NXP.NFC.MTK(pn547)上层编译修改

frameworks/base/core/java/android/nfc/NfcAdapter.java /** * @hide */ public static final int MODE_READER = 1; /** * @hide */ public static final int MODE_P2P = 2; /** ...

nathan_Q的专栏 960

国产芯片替换STM32单片机-国民技术N32G030K8L7-STB芯片评估板PADS设计硬件原理图+PCB文件.rar

国产芯片替换STM32单片机-国民技术N32G030K8L7_STB芯片评估板PADS设计硬件原理图+PCB文件

基于yolov5的跌倒检测框架.zip

基于yolov5的跌倒检测框架.zip

PN7120 NFC控制器与OM5577套件:从硬件拆解到实战开发全解析

近场通信(NFC)作为一种基于13.56MHz频率的短距离无线通信技术,其核心原理是通过电磁感应耦合实现设备间的非接触式数据交换。这项技术通过集成射频前端、协议栈与安全单元,为身份识别、移动支付和设备配对等场景提供了便捷、安全的解决方案。在嵌入式开发领域,NXP的PN7120 NFC控制器凭借其高度集成的协议栈和稳定的射频性能,成为快速实现NFC功能的理想选择。配合OM5577/PN7120ARD Arduino开发套件,开发者可以绕过复杂的射频电路设计与底层驱动调试,直接通过I2C接口进行应用开发。本文以

子夜轻风 364

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 154

PN7120 NFC控制器Linux驱动调试与天线匹配实战指南

NFC(近场通信)技术基于13.56MHz射频识别原理,通过磁场耦合实现设备间短距离数据交换,广泛应用于门禁、支付和点对点传输等场景。在嵌入式Linux系统中,NFC前端控制器的驱动调试涉及I2C通信、固件加载、设备树配置及协议栈对接等关键环节。PN7120作为NXP PN71xx系列芯片,支持读卡器、卡模拟和点对点模式,其调试过程需重点关注供电时序、天线匹配和中断引脚配置。实际工程中,硬件问题往往占据主导,天线Q值调整和I2C上拉电阻选型直接影响读卡稳定性与通信距离。本文围绕PN7120在Linux下的驱

weixin_29194693的博客 221

使用PlotNeuralNet绘制深度学习网络图的基本操作

使用PlotNeuralNet绘制深度学习网络图的基本操作

weixin_46877907的博客 2110

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2287

PN7120 NFC控制器调试实战:从硬件匹配到NCI协议全解析

NFC近场通信基于13.56MHz射频识别原理,通过磁场耦合实现设备间数据交换。嵌入式开发中,NFC控制器与主控的通信协议和天线匹配是核心难点。PN7120作为NCI标准协议芯片,支持读写、卡模拟和点对点模式,其I2C接口和中断机制要求严格的时序控制。调试时需关注电源去耦、天线阻抗匹配和NCI包格式,以确保稳定读卡距离和低功耗。这些技术广泛应用于门禁、标签读写和智能终端。本文记录PN7120从零到跑通的完整调试过程,涵盖硬件连接、寄存器配置和避坑经验。

weixin_33895475的博客 228

UE4-(IK)实现人物脚贴合地面解决斜坡上脚无旋转无法贴合地面问题

在斜面上脚陷入模型中,需要设置旋转值对脚的骨骼进行一个旋转。 解决思路:在射线检测中可以获取到检测点的法线方向,根据法线方向来计算出脚应该向哪个方向进行适当的旋转,在斜坡上,人物脚需要旋转的轴为x轴和y轴以便来贴合地面,z轴方向的旋转是不需要进行修改的。 如图所示,我们需要求得水平面与斜坡的夹角用来得出人物在x轴上的脚旋转量,在蓝图中提供反正切函数,反正切 = 锐角的邻边/对边 所以 反正切值(脚x轴值(roll)) = 法线Y轴值/法线Z轴 值。 现在将上图的人物想象成面向屏幕,脚需...

Stone的博客 3317

PN7120 NFC控制器实战配置:监听模式、RF状态机与PRBS测试详解

近场通信(NFC)作为一种短距离无线通信技术,其核心在于实现设备间的非接触式数据交换。其工作原理基于13.56MHz频率的电磁感应,通过负载调制等方式传输数据。这项技术的价值在于为移动支付、门禁系统、设备快速配对等场景提供了安全、便捷的解决方案。在工程实践中,NFC控制器的配置直接决定了通信的稳定性与性能。以NXP PN7120为例,深入理解其监听模式(Listen Mode)的详细参数配置,掌握射频(RF)状态机的运作逻辑,并善用PRBS测试模式进行硬件调试,是确保产品可靠性的关键。这些核心配置技巧,能帮

weixin_33862993的博客 329

Centos7.9上安装glibc2.28遇到/usr/bin/ld: cannot find -lnss_test2问题

Centos7.9安装glic2.28遇到-lnss_test2问题及解决方案。

freflying1119的博客 2898

从“能跑”到“好用”:一名 Python 开发者的工程化进阶之路【Python心得篇】

Python 早已不只是写脚本、跑数据的工具。后端服务AI Agent 编排层自动化平台核心语言数据与业务之间的“中枢层”区别只在于:你是用脚本方式,还是工程方式在写。如果你已经能写“能跑的 Python”,下一步,就是让它长期可跑、稳定可演进。Python 的真正价值不在于“写得快”,而在于能否支撑持续演进的工程实践。当代码从一次性脚本走向长期运行的系统,开发者必须从结构设计、职责拆分、性能意识和类型约束等方面进行系统性思考。

博客 1546

NXP NFC kernel 分析

初始化与卸载从 module_init 和 module_exit 开始读static int __init pn544_dev_init(void) { pr_info("Loading pn544 driver\n"); return i2c_add_driver(&pn544_driver); } module_init(pn544_dev_init);static void

Younix凌乱的草稿本 4549

用Playwright MCP让AI帮你完成所有浏览器自动化

Playwright MCP(Model Context Protocol)是微软基于 Playwright 框架推出的 AI 浏览器自动化新协议。它通过结构化快照数据和自然语言指令结合大型语言模型(如 GPT),实现无需编码的网页交互。无论你是要测试登录流程、抓取价格数据,还是用 AI 远程控制浏览器,Playwright MCP 都能大幅降低门槛,让“说人话”也能驱动自动化脚本。本篇将从功能介绍、技术架构、使用方法到实际场景,带你全面理解这一自动化革命。

todoitbo的博客 3万+

[Android7.0]开启NFC的流程分析

在setting设置中开启NFC功能,在NFC开启过程中进行的流程

追逐阳光的风 1万+

[系统安全] 一.什么是逆向分析、逆向分析基础及经典扫雷游戏逆向

娜璋AI安全之家于2020年8月18日开通,将专注于Python和安全技术,主要分享Web渗透、系统安全、CVE复现、威胁情报分析、人工智能、大数据分析、恶意代码检测等文章。真心想把自己近十年的所学所做所感分享出来,与大家一起进步。 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战等,通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步。第一篇文章先带领大家学习什么是逆向分析,然后详细讲解逆向分析的典型应用,接着通过OllyDbg工具逆向分析经典的游戏扫雷,再通过Cheat Engin

杨秀璋的专栏 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

NFC模组,开发NFC功能 只要几条指令的事情

支持WIN8/WIN7 + android + wince +MCU 单片机 + linux + MAC  ......       兼融所有平台,只要你会串口编程!     SMC532模组,是一个集成了MCU+NFC的模组,采用了使用最为广泛的NFC芯片NXP的PN532作为NFC底层通信链路,保证了可靠性的兼容性,然后,MCU采用了ARM-M3的工业级(兼容军工级)单片机STM3

5万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: MIPI屏调试
下一篇: RK3368 Recovery界面旋转方向调试
D00PING
博客等级 码龄12年 96粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值