利用现代在线调试器加速原型开发和代码升级
投稿人:DigiKey 北美编辑
2024-05-29
即使嵌入式系统日益复杂,开发人员也面临着加快产品交付的压力。在线调试器 (ICD) 有助于快速识别和修复错误,在这方面发挥着至关重要的作用。然而,传统调试器外形笨重、灵活性低、使用不便,早已不适合当今的开发要求。
鉴于此,开发人员可以选择结构紧凑、功能丰富、更便于开发使用的现代解决方案。需要特别强调的是,他们应在实验室和实地条件下寻求对快速开发和产品更新的支持。
本文简要介绍 ICD 的作用和要求。然后,以 Microchip Technology 的解决方案为例,介绍开发人员在现代 ICD 中应该注意的事项。此外,还包括兼容型开发工具、入门提示以及在生产环境中使用 ICD 的快速指南。
ICD 的优势和挑战
ICD 是一种连接工具,用于连接安装在目标硬件中的处理器。通过这种连接,可在系统运行时实时访问处理器,从而允许完成诸如逐步执行和内存检查等任务。利用在线编程器 (ICP) 可将代码和数据写入处理器内存,是这些功能的基础。所有这些功能对于嵌入式开发流程至关重要。
不过,传统调试器需要专门的技能和开发环境,这可能会限制其实用性。在对生产硬件进行故障诊断时,这些调试器可能也会受到限制,而且调试器通常需要 JTAG 连接,然而由于成本和空间限制,在生产硬件上实现这种连接是不切实际的。此外,调试所需的专用软件和硬件可能会给现场环境带来麻烦。
Microchip Technology 的 PG164150 MPLAB PICkit 5 ICD/ICP 突破了这些限制。除一些其他功能外,还可通过具有低功耗蓝牙 (BLE) 连接功能的智能手机应用来使用该器件。这使技术人员能够在现场部署代码映象,从而大大提高了修复错误和软件更新的可能性。
MPLAB PICkit 5 的主要功能
MPLAB PICkit 5 是一款多功能器件,支持几乎所有 Microchip Technology 微控制器 (MCU) 和数字信号控制器 (DSC),包括PIC、dsPIC、AVR 和(基于Arm® Cortex® 的)SAM 器件。如图 1 所示,该器件集成了一个 microSDHC 卡插槽,使该工具能够存储多个设备内存映象。
图 1:MPLAB PICkit 5 概览,突出展示了其主要功能。(图片来源:Microchip Technology)
MPLAB PICkit 5 通过 USB Type-C 电缆与主机连接,可经由该电缆或者目标设备供电。调试器还包括 BLE 连接,方便用户通过智能手机访问该工具。
调试器的目标设备侧有一个 8 针编程连接器,可支持各种接口。其中包括 4 线 JTAG、串行线调试 (SWD)、以太网、向后兼容型 2 线 JTAG 和在线串行编程 (ICSP)。Microchip Technology 提供的 AC102015 适配器板(图 2)支持所有这些接口。
图 2:AC102015 适配器板可容纳多种接口。(图片来源:Microchip Technology)
进入低压程序模式时,调试器支持 1.2 V 至 5.0 V 目标电源电压;高压程序模式时支持 1.8 V 至 5.0 V 目标电源电压。该器件还能直接为目标设备提供 150 mA 电流。
其他功能包括虚拟通信端口 (VCOM)、多个硬件和软件断点、用于定时操作的秒表以及直接调试源代码文件的功能。调试器由运行实时操作系统 (RTOS) 的 300 MHz ATSAME70N2 MCU 提供动力,确保在设备间切换时不会出现固件下载延迟。这种板载智能还使得调试器能够支持新的目标设备和功能。
与 MPLAB PICkit 4 和 MPLAB PICkit 3 相比的主要改进
MPLAB PICkit 系列在不断发展,每次迭代时都在灵活性、速度和设备兼容性方面得到了改进。表 1 总结了 MPLAB PICkit 5 与前代产品相比的重要升级。
|
表 1:MPLAB PICkit 5 与前代产品相比具有许多优势。(表格来源:Kenton Williston)
MPLAB PICkit 5 的主要功能
MPLAB PICkit 5 的主要功能包括:
- MPLAB X 集成开发环境 (IDE),这是一套用于嵌入式系统开发的全功能软件。
- MPLAB 集成编程环境 (IPE),这是一个集成应用程序,包括一个生产模式,可供技术人员构建基于 Microchip Technology 处理器的产品。
- MPLAB X 中包含的 MPLAB Programmer-To-Go (PTG) 功能,可与 iOS 和 Android MPLAB X 智能手机应用配合使用。
尤其值得一提的是智能手机应用(图 3),利用这种应用,用户可以通过简单的程序对目标硬件进行远程编程:
- 使用 MPLAB X 开发的代码被编译成 .ptg 十六进制文件,该文件包含代码、数据和配置信息。
- 十六进制文件被下载到插入 MPLAB PICkit 5 的 microSDHC 卡中。
- microSDHC 卡可以容纳多个十六进制文件,从而让用户灵活地对目标设备进行编程。
- 将 MPLAB PICkit 5 插入目标硬件。
- 用户使用智能手机应用,选择存储卡中保存的程序映象,对目标进行编程。
图 3:MPLAB PTG 智能手机应用提供了一个简单明了的界面。(图片来源:Microchip Technology)
MPLAB PTG 在远程或移动环境中特别有用,因为在这些环境中,增加设备是不切实际的。通过该用,可以直接在现场对设备进行编程,而无需计算机,从而有效地将 MPLAB PICkit 5 转变为独立的编程工具。
对于开发人员来说,这有助于快速更新现场固件,加快开发周期,缩短产品上市时间。然后,技术人员可以使用 MPLAB PTG 更新其他现场设备,从而能够快速推广产品升级。在紧急情况下需要快速重新编程以恢复设备功能时,该工具也非常有用。
开始使用 MPLAB PICkit 5
任何嵌入式开发人员都应熟悉 MPLAB PICkit 5 和 MPLAB X IDE 的使用过程。基本步骤如下:
- 安装:必须安装最新版的 MPLAB X IDE。MPLAB PICkit 5 通常无需额外驱动程序即可获得支持,但开发人员应查看 Microchip Technology 网站了解最新信息。
- 项目设置:创建新项目时,可选择 PICkit 5 作为进行编程和调试的硬件工具。为此,可在项目属性中的“硬件工具”类别下进行选择。
- 编程:完成项目配置和代码编写后,可按下“制作和编程设备”按钮对 MCU 进行编程。
MPLAB IPE 为生产环境中的技术人员提供了更直接的流程。该工具的关键使用步骤如下:
- 配置:应从可用工具中选择 MPLAB PICkit 5。然后必须选择目标设备(MCU 型号)和用于编程的十六进制文件。
- 编程:选择设备和十六进制文件后,按下“编程”按钮即可对 MCU 进行编程。必要时,MPLAB IPE 将对目标设备进行擦写操作,对其编程并进行编程验证。
无论在哪种环境下,用户都有可能遇到技术困难。通常,这些问题都是由简单问题引起,可以通过以下方法解决:
- 确保连接正确:开发人员应检查与主机和目标设备之间的连接。如果使用 ICSP 接口,应注意连接器方向。
- 检查电源设置:应检查电源设置。有些设备可直接由 MPLAB PICkit 5 供电,而其他设备则可能需要外部电源。
- 固件更新:Microchip Technology 会定期发布 MPLAB PICkit 5 的固件更新。开发人员应确保安装最新版。
开始使用 MPLAB PICkit 5
MPLAB PICkit 5 兼容各种为学习应用、原型设计和开发应用而设计的开发套件。例如,Curiosity 低引脚数 (LPC) 开发板(如DM164137)支持 8、14 或 20 引脚,专为使用 PIC MCU 进行实验而设计。这些电路板通常包括集成编程器和调试器,但象 MPLAB PICkit 5 之类的外部工具可提供更多功能。开发人员应检查是否可以通过选择跳线来断开板载编程器。
另一个例子是用于 PIC16F18855 的 Xpress 评估板(如DM164140)。这类电路板专为使用特定 PIC MCU 进行快速原型开发而设计。这些电路板具有内置编程器和调试器,但开发人员可以使用 MPLAB PICkit 5 来实现项目的一致性,或使用该调试器的特定功能。
Microchip Technology 还提供 DM320105 PIC32MX XLP 评估板等入门套件,提供快速启动开发所需的软硬件。MPLAB PICkit 5 可用于对这些套件中的 MCU 进行编程和调试,提供无缝体验。
结语
现代 ICD 可帮助开发人员加快开发周期,在现场进行产品升级。与以前的调试器相比,MPLAB PICkit 5 支持更广泛的目标设备、连接选项和软件工具,因此具有高度的灵活性和实用性。尤其值得一提的是其智能手机应用,因为通过这些应用,可在传统调试器难以进入的设置中使用 MPLAB PICkit 5。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。