AN13743-移植-无eSE

news2024/11/17 14:19:25

PN553/PN557 to PN7160 migration guidelines
 

1目的
本文件提供了从PN553/PN557 NFC控制器迁移到PN7160 NFC控制器的指南。它旨在从硬件和软件的角度描述PN7160 NFC控制器与PN553/PN557 NFC控制器的主要区别和新功能。软件部分逐步介绍如何适应Android开源项目
为PN553/PN557 NFC控制器构建的源,以迁移到PN7160 NFC控制器。
1.2范围
PN7160 NFC控制器与PN553/PN557 NFC控制器引脚对引脚兼容。本迁移指南与PN553/PN557有所不同。
PN7160和PN557 NFC控制器符合NCI 2.0版,而PN553 NFC控制装置符合NCI 1.0版。PN7160 NFC控制器不集成安全元件接口。

1.3受众
本文档适用于以下客户:
•他们开发了基于PN553/PN557 NFC控制器的产品,并决定迁移到PN7160 NFC控制器。
•熟悉PN553/PN557 NFC控制器,并希望启动基于PN7160 NFC控制器的新产品

2 PN553/PN557和PN7160之间的高级别比较
PN553/PN557和PN7160是设计用于集成在移动设备和符合NFC标准的设备(NFC论坛,NCI)中的NFC控制器。这些产品旨在快速集成到非常广泛的系统中,并支持所有NFC论坛模式。恩智浦半导体公司发布的软件包包括Android和Linux驱动程序,支持RTOS和无操作系统应用程序。
PN553/PN557 NFC控制器和PN7160 NFC控制器在特征方面相似。表1列出了这些产品之间的主要差异:

NFC论坛NFC-IP和读取器模式与PN553/PN557 NFC控制器和PN7160 NFC控制器产品相匹配。

3.1引脚间兼容性
PN7160 NFC控制器与PN553/PN557 NFC控制器引脚对引脚兼容,并且几乎所有外围设备在这两种设备中都是一致的。这些NFC控制器之间的主要区别与安全元件接口连接和NFC_GPIO引脚有关。表3中列出的所有这些引脚都内部连接在PN7160 NFC控制器中,并且应保持打开状态。

3.2包装信息
PN7160 NFC控制器有两种封装配置:VFBGA64和HVQFN40,而PN553/PN557 NFC控制器仅提供VFBGA66封装。PN7160和PN553/PN557产品的引脚对引脚兼容仅适用于VFBGA64封装版本SOT1980-1。
有关包装规格的更多信息,请参阅PN7160和PN553/PN557数据表。

3.3 NFC天线匹配
当用PN7160 NFC控制器替换PN553/PN557 NFC控制器时,无需更改NFC天线及其匹配电路。同样的设计也适用。

4.1安卓软件概述
本章介绍了基于NXP交付包的Android 12的体系结构,该交付包可在https://github.com/NXPNFCLinux/nxpnfc_android12存储库并解释
从PN553/PN557 NFC控制器迁移到PN7160 NFC控制器需要进行的所有修改。
本文档以Android AOSP 12.0.0_r9版为参考,移植到其他Android版本可能需要对API进行少量修改。
OEM集成可能会根据实际系统集成而有所变化。
图1显示了Android NFC软件移植的基本流程。在以下部分中查找每个块的详细信息。

注:对于PN557 NFC控制器,SEHal、WeaverHal、KeyMasterHal和SPIDriver未集成用于NFC。与这些模块相关的所有修改都可以忽略。

 

4.1.1 PN553/PN557 NFC控制器和PN7160 NFC控制器的Android堆栈比较
以下是PN553/PN557 NFC控制器和PN7160 NFC控制器之间的软件关键区别:
•PN553/PN557 NFC控制器使用恩智浦定制的NFC和NCI库,而PN7160 NFC控制器则使用AOSP本地库。
•PN553/PN557 NFC控制器使用NXP安全元件框架,PN7160 NFC控制器不集成SE。

4.2下载Android源代码
使用Android网站上的以下说明:
http://source.android.com/source/downloading.html
使用以下命令获取相应分支android-12.0.0_r9的源代码:repo-init-uhttps://android.googlesource.com/platform/manifest-b
安卓-12.0.0_r9

 

图3显示了Android堆栈,其中包含必须修改/删除的模块,以清除PN553/PN557 NFC控制器的所有依赖项,并为PN7160 NFC控制器集成准备代码。
修改/添加$ANDROID ROOT目录,如下表所示:

4.4集成基于PN7160 NXP NCI的NFC控制器
要将PN7160 NFC控制器集成到您的AOSP中,请参阅:
•https://www.nxp.com/docs/en/application-note/AN13189.pdf

4.5内核移植-驱动程序详细信息
PN553/PN557 NFC控制器为I2C和SPI接口实现了两种不同的驱动程序,其中第二种用于安全元件通信。对于PN7160 NFC控制器,SPI接口可以用作主连接,具体取决于设备和平台配置。
在任何情况下,对于PN7160 NFC控制器,都有必要在构建中配置并包括目标驱动程序(I2C或SPI版本)。有关如何构建内核驱动程序的完整指南,请参阅第4.4节中提到的文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/661335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React学习笔记(二)组件详解

一、组件的概念: 当你开始学习 React 的时候,你会了解到 React 组件是 React 应用程序的基本构建块。组件是一个隔离的、可重复使用的代码块,由 HTML 元素、其他组件或自定义的 UI 元素组成,组件也就是react的核心思想&#xff0c…

Visual Studio Code 插件安装

目录 1、在线安装 1.1 单个插件的安装 1.2 根据配置文件一次性安装多个插件 1.3 同步配置的方式 1.3.1 第一种方式使用VSCode自带的同步功能。 1.3.2 第二种方式,首先需要先安装插件 Settings Sync 2、离线安装 2.1 去官方下载离线安装包进行安装 2.2 直接…

DolphinScheduler任务调度工具

任务调度:系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程 分布式调度: 分布性:每个部分可以独立部署,服务之间通过网络通信伸缩性:每个部分可以集群部署,动态伸缩扩容高可用 jd…

IntelliJ IDEA 2022.3.1 (Community Edition)代码注释风格设置

Setting -> Editor -> Code Style -> Java -> Comment Code

Unity 之 最新Ads原生广告接入流程详解和工具类分享

Unity 之 Ads接入流程详解 一,注册 Unity Ads 广告 SDK二,下载 Unity Ads 广告 SDK三,配置 Unity Ads 广告 SDK3.1 广告位展示流程3.2 代码初始化 四,集成 Unity Ads 广告 SDK4.1 相关介绍4.2 代码分享 五,测试 Unity …

C语言变量学习2

前文已经学习了C语言变量; C语言变量_c语言变量块_bcbobo21cn的博客-CSDN博客 继续再学习;VC6新建一个单文档工程; void CVtestView::OnDraw(CDC* pDC) {CVtestDoc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for na…

【C语言复习】第三篇、Gitee码云的创建和使用

目录 第一部分、Gitee码云的用处 1、为什么要使用Gitee? 2、我参考的视频 第二部分、软件安装流程 1、下载Git for windows软件和TortoiseGit软件 2、Git for windows软件的安装流程 3、TortoiseGit软件软件的安装流程 第三部分、Gitee如何创建仓库&#xf…

jquery和jquery ui有什么区别

jquery和jquery ui有什么区别 jquery和jquery ui有什么区别 jQuery UI 与 jquery 的主要区别是:(1) jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。(2) jQuery UI则是在jQuery的基础上,利用jQuery的扩展性&…

企业搭建小型直播间、中型直播间、大型直播间的介绍

常用的直播间搭建大致分为实景和绿幕两种类型。实景区即公司具体场景,如会客厅、LOGO墙、海报展板以及纯白背景等,根据企业直播主题而调整;绿幕区则是通过搭建绿幕,满足企业直播过程中需要进行抠像,设置沉浸式背景的需…

国产麒麟服务器等保二级 配置规范(一)

麒麟linux的加固 1.检查设备密码复杂度策略 配置文件 vi /etc/pam.d/system-auth password requisite pam_cracklib.so ucredit-1 lcredit-1 dcredit-1 minlen6 auth required pam_tally.so deny5 unlock_time600 no_lock_time account required pam_tally.sopassword suffi…

大数据Doris(四十五):Routine Load注意事项

文章目录 Routine Load注意事项 Routine Load注意事项 1、查看作业状态的具体命令和示例可以通过 HELP SHOW ROUTINE LOAD; 命令查看。 2、用户可以通过 STOP/PAUSE/RESUME 三个命令来控制作业的停止,暂停和重启。可以通过 HELP STOP ROUTINE LOAD; HELP PAUSE ROUTINE LOA…

调用万维易源API实现证件照换装

目录 1. 作者介绍2. 万维易源API简介2.1 易源数据2.2 易源API管理2.3 调用参数简介 3. 万维易源API调用过程3.1 获取ID和代码3.2 代码实现3.3 完整代码 参考(可供参考的链接和引用文献) 1. 作者介绍 吴宇,男,西安工程大学电子信息…

LVS keepalived 集群

LVS keepalived 集群 LVS keepalived 集群一、Keepalived及其工作原理1.Keepalived体系主要模块及其作用2.健康检查的方式(探针) 二、LVSKeepalived 高可用群集部署1.LVS部署一:配置负载调度器(主、备相同)二&#xff…

FreeRTOS实时操作系统(二)任务创建与任务删除(HAL库)

文章目录 前言系统配置任务创建动态任务创建删除实践静态任务创建删除实践 前言 接着学习正点原子的FreeRTOS教程,涉及到一些详细的系统内文件代码 系统配置 可以通过各种的宏定义来实现我们自己的RTOS配置(在FreeRTOSconfig.h) “INCLUDE…

100天精通Python(可视化篇)——第92天:Pyecharts绘制炫酷柱状图、条形图实战大全

文章目录 专栏导读1. 基础柱状图2. 旋转x轴标签3. 旋转坐标轴4. 添加坐标轴名称5. 添加标记点6. 添加标注线7. 添加数据8. 添加自定义背景图9. 堆叠柱状图10. 柱状图与折线图组合11. 三维柱状图12. 水平滑动、鼠标滚轮缩放柱状图 专栏导读 🔥🔥本文已收…

ConcurrentHashMap源码

HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。 介绍 ConcurrentHashMap的底层原理和HashMap是比较相…

网页之http

目录 一、网页概念: 1.纯文本格式文件 2.编写语言-----html---超文本标记语言 3.浏览器相当于翻译器,检查是否为html文件,是的话就翻译,否则就报错。 二、域名 三、DNS解析 1.分布式域名解析-----层次性:迭代处…

谁是远程界的天花板?2023年5款最常用的远程软件横测:ToDesk、向日葵、TeamViewer、Splashtop、AnyDesk

前言 一个优秀的远控软件,追求的是可信赖的安全感,连接的流畅度、画质的清晰度、操作的简单化、毫秒级的无感延迟以及全方位的功能。另外,远控软件还应拥有独立的创新技术,具备竞争对手无法超越的市场前瞻性,与世界保…

MySQL - 第4节 - MySQL表的约束

1.MySQL表的约束概述 • 真正约束字段的是数据类型,如果插入的数据超出了对应数据类型的取值范围,那么数据将会插入失败。 • 但是数据类型的约束很单一,为了更好的保证数据的合法性,从业务逻辑角度保证数据的正确性,M…

ldr、str、ldm、stm、msr、mrs、swi、svc、mrc等ARM指令详解及具体应用

文章目录 前言一、跳转指令1.1 相对跳转1.2 绝对跳转 二、内存操作指令2.1 Load和Store2.1.1 伪指令2.1.2 伪操作 2.2 内存操作指令具体应用 三、 寄存器的寻址方式3.1 前索引寻址3.2 后索引寻址3.3 基址变址 四、块拷贝指令(多数据加载)4.1 块拷贝4.2 指…