NCJ29D5B 使用 J-link 下载调试

关键字 :NXPUWB

        NCJ29D5B 是一款集成的单芯片脉冲无线电超宽带 (IR-UWB) 低能耗低成本收发芯片。它是为汽车环境中的安全测距应用而设计的。它可以用于双向测距定位系统,测距精度高达 10 厘米。它还支持高达 6.8 Mbps 的 BPRF 和 7.8 Mbps 的 HPRF 数据传输速率。

一、芯片介绍


1.1 功能和特点

  • 符合 IEEE 802.15.4 HRP UWB PHY 标准;
  • 支持 SHF 超宽频带从 0 GHz 到 8.5 GHz 的全球使用;
  • 中心频率 5 GHz 到 8.0 GHz;
  • 可编程发射机输出功率高达 12 dBm 峰值;
  • 与 IEEE 802.15.4 相比,128 MHz PRF 模式使可用的平均 TX 功率加倍;
  • 优化短帧模式操作;
  • 全相干接收机的最大范围和精度;
  • 集成所有需要的射频元件(即 balun,TRX 开关);
  • 供电电压 8 V ~ 3.6 V;
  • 低能源消耗;
  • 可配置的电流限制应用与硬币电池供应;
  • 数据速率 110 kbps (BPRF), 850 kbps (BRRF),8 Mbps (BPRF), 7.8 Mbps (HPRF);
  • 支持双向测距;
  • IEEE 802.15.4z BPRF/HPRF 超宽带 PHY 协议草案,对抗 Cicada 和前导码注入攻击造成的远距离操纵;
  • 混乱时间戳序列 (STS) 生成兼容 NIST SP 800-90A;
  • 集成 I/Q 相位和振幅失配补偿;
  • 窄带干扰消除 (NBIC),具有卓越的同通道干扰抑制能力;
  • XO 缓冲器,用于与其他设备共享 XTAL( 例如 UHF 或 BLE 收发器);
  • 6mm x 6mm 40-pin QFN 包带 5 mm 铅间距和可湿性侧面;
  • 外部组件数量少;
  • ARM®Cortex-M33 32 位处理器 2 MHz;
  • ARM®AHB-Lite 总线矩阵和双主 NS-DMA 快速数据传输;
  • 256kbyte 非易失性内存;
  • 40 kByte RAM;
  • 96 kByte ROM;
  • ARM®TrustZone 技术和 S-DMA 安全;
  • 高级加密标准 AES (Advanced Encryption Standard),具有 128 位密钥和 256 位密钥;
  • 具有 256 位、384 位和 512 位密钥的椭圆曲线密码 (ECC);
  • 256 位的安全哈希算法 2 (SHA2-256);
  • 安全接口(启用 GlobalPlatform 协议;
  • 循环冗余校验 (CRC) 计算的协处理器;
  • 真随机数生成 (TRNG);
  • SPI, UART 和 LIN 兼容接口;
  • 简化了定制应用程序的开发的 API;
  • 应用程序开发的几个计时器;
  • 低功耗唤醒计时器;
  • 看狗定时器;
  • 支持高精度外部温度传感器,精确的晶体温度漂移补偿;
  • 集成温度传感器用于晶体温度漂移补偿;
  • 通用 ADC 10 位;

 

1.2 应用

       这颗芯片支持以下应用:

  • 基于低频无钥匙进入系统 (PKE) 的中继攻击防御;
  • 基于 UWB 定位的免提智能接入;
  • 汽车系统中的安全测距应用 ( 远程停车控制 );
  • 更多的汽车系统中的舒适性功能;

 

二、. 使用 J-link 下载调试


        可以使用 J-Link 设备对 NCJ29D5B(目前没有提供 NCJ29D5D 的 Keil 工程) 进行下载和调试。安装基本 J-Link 驱动以及准备 Keil IDE,以便在 IDE 中进行编程和调试。请注意,虽然本节讲解了 J-Link 设备的安装调试,但 NXP 不建议使用 J-Link。

 

2.1 安装 Keil IDE 及 NCJ29D5 的支持包

(1)先安装 Keil。


图 1. 安装 Keil IDE

 

(2)可在原厂提供的 sdk 中获取 NCJ29D5 的 Keil 支持包。


图 2. 获取 NCJ29D5 的 Keil 支持包

 

(3)安装 NCJ29D5 的Keil支持包。


图 3. 安装 NCJ29D5 的 Keil 支持包

 
2.2 安装通用 J-link 驱动


(1)J-Link 驱动程序可以在 www.segger.com/downloads/jlink/ JLink_Windows.exe 下载 。


图 4. J-Link 驱动安装包

 

(2)安装完毕会让你选择要更新的 J-Link 驱动的 IDE。


图 5. 给 ARM Keil 更新 J-Link 驱动


2.3 下载设备专用软件文件


        要通过 Keil IDE启用 JLink,还需要一些进一步的软件/配置文件。所有文件都包含在 “J-Link Flash driver” 文件夹中,可以从 www.nxp.com 下载,需要 NXP 开通相关权限才能看到如下文件。


图 6. 下载 “J-Link FlashDrv”

 

2.4 将 J-Link 调试器集成到 Keil IDE 中

 
        为了使 J-Link 程序员能够通过 Keil IDE 进行操作,必须将一些 J-Link 驱动相关的文件复制到 ARM Keil 的目录和实际项目中。所有相关文件都是在章节 4.2 中下载的文件夹“J-Link Flash driver” 的一部分。在接下来的全局变更 ( 只需要执行一次 ) 和局部变更 ( 需要应用到每个新的软件项目 ) 中进行了描述。

 

2.4.1 全局变更

(1)准备 ARM Keil IDE 需要两个全局更改。首先更改是复制文件“NCJ29D5_App_Jlink_FlashDrv”.FLM” ( 从 “J Link Flash driver” 文件夹 ) 到文件夹: <Keil_v5 directory> /ARM/Flash。


图 7. 复制文件

 

(2)第二个更改是编辑现有文件 “TOOLS.INI”。可以在 Keil v5 的目录中找到该文件,如图 8 所示。该文件可以使用任何文本编辑器打开和编辑。在文件中,必须声明 J-Link 驱动程序可以用于ARMv8-M 设备 ( 如 ARM Cortex M33 )。因此,将与 J- link driver.dll ( #seggerjl2c3 .dll(“J- link / J TRACE Cortex”),相关的键 ( 这里是“TDR3”) 复制到 ARMv8-M 设备的驱动程序列表中。设备列表也存储在一个键中 ( 这里是 “CPUDLL3”):= SARMV8M.DLL (<key_driver1>, < key_driver2>, … )。


图 8. 配置文件 “TOOLS.INI”

 

(3)编辑修改的 TOOLS.INI 如下图所示。


图 9. 添加关键字 “TDRV3“ 到 ARMv8-M 设备的驱动列表里

 

2.4.2 局部修改


         除了全局更改之外,还必须将两个文件复制到每个需要下载调试的 NCJ29D5B Keil 项目目录中,以便使用 J-Link 进行编程和调试。文件如下:

  • JLinkSettings.ini
  • NCJ29D5BootLoopAttach.JLinkScript

 

        所有文件都包含在文件夹 “J-Link Flash driver” 中,如图 10 所示。这些文件的目标文件夹是:<Project directory>→toolsupport→keil。


图 10. 拷贝所需文件到项目目录下

 

2.5 编译器版本适配


(1)编译器版本需要如下图红框中提示的版本,否则会编译报错,一开始更换为 Arm compiler Version 6.14,但提示与我的 Keil SDK 版本不兼容,又替换为 Arm compiler Version 6.9 。


图 11. 编译报错,编译器版本不适配

 

(2)在 https://developer.arm.com/documentation/ka005198/latest ( 需注册 ) 网页中下载 6.9 版本的编译器。


图 12. 下载 ARM 6.9 版本编译器

 

(3)在 Keil 目录下 ARM 目录下新建一个 ARM6.9 目录。


图 13. 新建 ARM6.9 目录

 

(4)双击 setup 安装到如上 ARM6.9 目录中。


图 14. 使用安装程序安装 ARM6.9 版本编译器

 

(5)安装完毕 ARM6.9 编译器后打开项目管理菜单添加编译器。


图 15. 打开项目管理菜单

 

(6)添加刚才新安装的 ARM6.9 版本的编译器。


图 16. 添加编译器

 

(7)选择目录添加新安装的 ARM6.9 版本编译器。


图 17. 选择编译器目录

 

(8)最后在项目选项中出现了新添加的编译器版本 Arm compiler Version 6.9 。


图 18. 替换编译器版本

 

(9)替换编译器版本后编译通过。


图 19. 编译通过

 

2.6 开始调试任务

 
(1)在启动调试会话之前,必须选择并配置调试器,如下图所示。


图 20. 打开烧写工具配置页面

 

(2)进入 Debug 选项卡,选择 J-LINK / J-TRACE Cortex,进入 Settings,选择 SW port。需要连接一个 J-Link 调试器,它才会显示在 SW Devices 的列表中。


图 21. 选择J-link 的 SW 调试接口

 

(3)在调试/设置对话框中,进入 Flash 下载选项卡,添加 NCJ29D5 应用程序 Flash 文件,并在如下红框部分进行相同的设置,如下图所示。


图 22. 添加 NCJ29D5 Flash 文件并调整 flash 存储大小设置

 

(4)确认添加初始化文件,如图 23 所示。


图 23. 调试设置:初始化文件

 

(5)然后,可以通过按下调试按钮来启动调试会话,调试控制按钮可以在调试窗口的左上角找到,如图 27 所示。


图 24. 开始调试任务

 

(6)如果有如下提示并且下载失败,说明你的 J-link 硬件设备不支持 ARMv8-M,需要更换更高版本的 J-link 调试器。


图 25.提示 J-link 不支持 ARMv8-M

 

(7)一切顺利的话,点击调试按钮后会先进入下载。


图 26. 进行下载

 

(8)下载完毕之后,进入调试界面。


图 27. 调试控制按键

 

三、总结


        本文主要介绍了 Keil IDE 的安装和 J-link 驱动安装,修改局部配置和全局变量使用 Keil 配合 J-link 对 NCJ29D5B 进行下载和调试,其中需要注意的点是一些编译器的版本的兼容问题,以及 J-link 硬件版本的问题。

        欢迎在博文下方留言评论,我们会及时回复您的问题。如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com

 

参考资料

[1]《an523019 - AN-SCA-1901 NCJ29D5 Tools (1.9)》
[2]《ds652611_1.1_NCJ29D5DHN – Ranger-4 Ultra Wideband Transceiver with MAC support》

我是好景虚设,欢迎在大大通上关注我!

 


UWB 方案相关博文:

《Foxes 开发板 NCJ29D5D 使用 Lauterbach 下载调试》

《NCJ29D5D 下载 package 失败的解决方法》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论