超低功耗微控制器模块为工程师带来新的机遇—第2部分:配置Eclipse

2025-04-24

阅读本系列中的其他文章。

本文继续介绍超低功耗、功能丰富的微控制器模块,并解释如何使用主流的免费工具对其进行编程和调试。与许多其他高端微控制器模块不同,该模块采用DIP封装,因此专业工程师和业余爱好者都能使用它轻松设计原型。第1部分说明了如何在Eclipse中创建项目,第2部分将说明如何配置Eclipse以配合PICO使用。

重新配置Eclipse以配合PICO硬件使用

第1部分 中创建的项目是围绕MAX32625EVKIT 硬件而设计的,该硬件与 PICO 的硬件不同,因此需要更改评估套件的硬件描述文件以适配PICO的硬件。原始的boards.c文件存储在以下目录中:

C:\Maxim\Firmware\MAX32625\Libraries\Boards\EvKit_V1\ Source

PICO的新 boards.c文件以zip文件的格式存储,读者可以点击本文末尾的链接下载,需要将zip文件中的整个Boards目录复制到保存主程序的目录中,如图1所示。该目录描述了PICO PCB所包含的组件。

Figure 1. Locating the Boards directory
图1. 定位 Boards目录。

 

PICO包含一个引导加载程序,以使程序能够正常运行。引导加 载程序还允许使用拖放的方式加载二进制文件。如果使用默认设置将程序加载到MAX32625中,则 Eclipse会覆盖此引导加载程序。链接器文件max32625.ld会将所有程序整合成一个二进制文件,以便加载到主机微控制器中。它还会确定将程序加载到内存的哪个位置,因为此位置需要修改,以免覆盖引导加载程序。修改后的链接器文件包含在下载的zip文件中。

将链接器文件复制到 project 目录,如图1所示。

存储在project 目录中的Makefile会向编译器发出指示,以便其找到链接器文件和Boards目录。因此需对Makefile进行编辑,以确保指向修改后的链接器文件和Boards目录的最新位置。将zip文件中的新Makefile复制到project目录中(如图1所示)以覆盖原始文件。

在新的 Boards目录中,可以找到修改后的board.c文件(位于目录EvKit_V1\Source),它描述了PICO上的微控制器与LED和按钮的连接关系。通过比较图2中的代码与图3中的PICO原理图,可以很容易看出其结构。

Figure 2. LED and pushbutton configuration.
图2. LED和按钮配置。
Figure 3. LED and pushbutton schematic.
图3. LED和按钮原理图

 

boards.c文件也经过了大量修改,以使PICO能够将数据打印到终端程序(如Tera Term),这对于调试过程非常有用。如果使用打印功能,请配置终端程序以115200的波特率进行通信,如图4所示。

Figure 4. Tera Term settings.
图4. Tera Term设置。

 

引导加载程序可以使一些外设处于部分配置状态,board.c中的其他代码可在初始化期间将其重置,如图5所示。

Figure 5. Bootloader initialization.
图5. 引导加载程序初始化。

 

最后,PICO使用与评估套件不同的电源管理IC。但是,PICO的电源管理IC不需要编程,它以默认设置运行,因此新的board.c文件中已删除了相关配置的代码行。

构建最终项目

zip文件包含一个示例程序,即Template文件夹中的main.c,它能检测PICO上的按钮何时被按下,然后让RGB LED闪烁,并通过SPI端口发送2字节的数据,再通过UART发送1字节的数据,最后在终端程序上打印Hello from the PICO。将此程序复制到project目录中以覆盖原程序。如代码注释所示,main.c代码从MAX32625项目目录中的许多示例程序中复制而来。这将为用户创建最终应用程序代码奠定了基础。

单击 锤子 符号构建项目,如图6所示。如果Eclipse中打开了多个项目,将鼠标悬停在 锤子 符号上,用户就能知道即将构建哪个项目。

Figure 6. Building the project.
图6. 构建项目。

 

项目的 build目录中现在应该出现了如图7所示的二进制文件。

Figure 7. Location of the binary file.
图7. 二进制文件的位置。

 

此时,最好将build 目录添加到Windows资源管理器的快速访问栏中,使得PICO的编程过程更加非常方便。右键单击build 目录,选择“固定到快速访问”(Pin to Quick access ),目录将出现在Windows资源管理器左侧的“快速访问”(Quick access)栏中。

加载二进制文件

需要注意的是,编程线缆仅用于调试目标PICO,以及在引导加载程序被覆盖时对该器件重新编程。加载二进制文件不需要使用 编程线缆,只需拖放即可。

按住PICO上的按钮,将其插入USB端口。PICO应该作为新驱动器出现,名称为MAINTENANCE,如图8所示。

Figure 8. The MAINTENANCE drive.
图8. MAINTENANCE驱动器。

 

二进制文件拖放到MAINTENANCE 驱动器上,从而加载文件。文件加载到PICO后,MAINTENANCE驱动器就会消失,PICO将重新启动,并且程序将开始运行。

在代码开发的早期阶段,程序不太可能按预期运行,甚至根本无法运行。如果需要调试目标PICO上的软件(包括单步调试或在运行至断点),则需要使用接口软件对第二个编程器PICO进行编程,以使其能够在PC与目标PICO之间建立连接。该编程器PICO向目标PICO发出指令以启动和停止目标PICO的执行,从而让Eclipse能够对寄存器进行检查。

要配置第二个编程器PICO,请在zip文件中找到DAPLink Interface Binary目录,并定位其中的二进制文件。断开第二个编程器PICO与 USB端口的连接,然后按住编程器PICO上的按钮,同时将其重新插入USB端口。如前所述,此时应该出现一个名为 MAINTENANCE 的驱动器。将 DAPLink Interface Binary 目录下的二进制文件(max32625_max32625pico_if_crc.bin)拖到 MAINTENANCE驱动器。这将使用接口软件配置编程器PICO,并允许使用Eclipse单步执行目标代码。完成上述操作后, MAINTENANCE驱动器应该消失,编程器PICO将重新启动,并会出现一个DAPLINK驱动器。在此阶段,建议将编程线缆连接到编程器PICO,以将其与目标PICO区分开来。

如何调试目标代码

将编程线缆连接到编程器PICO上的10路接插件,将另一端的pogo连接器按到PICO背面的焊盘上,确保将对准销插入PICO上的孔中,如图9所示。

Figure 9. Connecting the programmer to the target.
图9. 将编程器连接至目标。

 

将鼠标悬停在Eclipse中的 debug图标上(如图10所示),确认当前调试的项目是否正确。界面上会显示当前项目的名称。

Figure 10. Building the project.
图10. 构建项目。

 

单击 debug图标,同时保持pogo连接器连接到PICO。程序将进行编译,然后在代码开始处暂停。按下键盘上的F8将启动调试过程。

用户只需双击Eclipse中代码的行号,就能插入断点。

现在,用户可以调试代码。要检查寄存器,请在Eclipse菜单中选择

Window > Show View > Other…

然后展开Debug 文件夹,选择所需的视图。

一旦确定代码能够正常运行,就可以保存该项目,将其作为未来项目的模板。

如何恢复损坏的PICO

PICO带有预安装的引导加载程序,支持拖放编程。插入PICO时,如果MAINTENANCEDAPLINK驱动器都没有出现,那么很可能是引导加载程序已被覆盖。通过以下步骤可以恢复引导加载程序。

  • 插入编程器PICO,查看DAPLINK驱动器是否出现。
  • 插入损坏的PICO。
  • 将编程线缆的弹簧连接器抵住损坏的PICO背面的焊盘,确保将对准销插入PICO上的孔中。
  • 导航到Bootloader Binary目录,将引导加载程序文件(max32625pico_bl.bin)拖到DAPLINK驱动器。需要注意的是,该二进制文件被复制到了编程器PICO创建的驱动器,而不是目标PICO创建的驱动器。编程器PICO用作管道,通过编程线缆将二进制文件传送到目标PICO。
  • 用户按住已修复PICO上的按钮并插入该PICO时,用户应该能够看到MAINTENANCE驱动器。
  • 拔下编程器PICO。

如何删除PICO中的文件

如果需要彻底删除PICO的内容,请按照以下步骤操作:

  • 将编程器PICO插入USB端口。这将创建一个DAPLINK驱动器。
  • 将需要擦除内容的PICO插入另一个USB端口。
  • 将编程电缆的弹簧连接器抵住要擦除内容的PICO背面的焊盘。
  • 导航到zip文件中Erase File目录中的erase.act文件。
  • 将此文件拖到DAPLINK驱动器。编程器PICO用作管道,通过编程线缆将擦除文件传送到目标PICO。
  • 这样就会擦除目标PICO。

结论

这或许是与PICO建立良好关系的开始。它提供了一个出色的低成本平台,让用户能够使用功能强大且功耗超低的Arm®微控制器进行开发。本文提供了有关如何使用免费开发工具对PICO进行编程和调试的完整指南。用户成功完成一个项目后,就可以将该项目作为模板,在未来的开发中轻松复用,大幅降低开发工作量。最后,用户可以告别8位DIP时代,进入32位微控制器世界,同时仍然能够使用易操作的封装进行原型设计。

点击此链接下载软件文件:https://www.analog.com/media/en/software/software-configuration/eclipse-configuration.zip

致谢

非常感谢ADI微控制器支持团队,他们对配置文件进行了大量修 改,对这篇文章做出了很多贡献。

关于作者

Simon Bramble
Simon Bramble于1991年毕业于伦敦布鲁内尔大学,拥有电气工程和电子学学位,专门从事模拟电子器件和电源工作。他的职业生涯主要从事模拟电子器件工作,就职于凌力尔特(现为ADI公司的一部分)。

关联至此文章

资源

最新视频 21

Subtitle
了解更多