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

2025-04-09

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

Figure 1

   

摘要

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

引言

尽管设计人员对微控制器微型化的不懈追求屡屡突破电子产品的性能极限,但也导致工程师和业余爱好者在使用不断缩小的封装进行原型设计时面临重重困难。虽然在设计中加入微控制器无疑会增添新的电路功能,但许多工程师仍然怀念以前大量器件采用DIP封装的日子。如今更为先进的微控制器所采用的封装大多无法用于原型设计,或者其评估套件尺寸很大,配备了许多不必要的器件。

本文介绍的 MAX32625PICO微控制器模块对原型制作十分友好,尺寸非常小巧,仍采用DIP封装,因此非常容易集成到测试PCB和量产PCB中。此外,本文将介绍如何使用主流的免费集成开发环境(IDE) Eclipse进行编程和调试,从而潜移默化地鼓励工程师告别8位处理器,同时依然保留DIP封装。有关完整的入门操作指南,请参阅以下说明。

了解MAX32625PICO

图1所示为MAX32625PICO,也称为PICO。它包含MAX32625微控制器,这是一款超低功耗的32位Arm® Cortex®-M4处理器,具有512 kB闪存和160 kB SRAM,工作频率高达96 MHz。PICO上的引脚配备了这款微控制器最实用的外设功能,包括SPI接口、I2C端口、10位ADC的两个输入、1-Wire接口和两个UART。PICO还集成了MAX14750电源管理IC、RGB LED、按钮开关、USB Micro B连接器和10引脚Cortex调试接头,并且可以直接从USB端口或外部5 V电源供电。此外,PCB两侧均有0.1英寸的焊盘,因此可以将引脚焊接到PICO上,从而使其能够安装在原型板上。如果需要表面贴装的解决方案,焊片的敷铜直接延伸到电路板边缘,因此PICO也可用作表面贴装组件使用。PICO足够小,可以插入到任何设计中;同时又足够大,可以轻松进行原型设计。参见图1。

Figure 1. The MAX32625PICO.
图1. MAX32625PICO。

以下是对PICO进行编程和调试所需的组件:

  • 两个PICO
  • 两根Micro B USB连接线(通常随PICO提供)
  • 编程线,序列号TC2050-IDC-NL-050

TC2050编程线的一端是10引脚连接器,另一端是弹簧式pogo引脚。该编程线仅在调试过程中使用,或者在引导加载程序被覆盖时用于对PICO重新编程。正常编程只需简单拖放二进制文件即可。

在Eclipse IDE中创建项目

PICO最初设计用于Mbed在线编译器平台,但该平台现已停用。开源Eclipse IDE是一个开发平台,深受专业人士和业余爱好者的欢迎,可作为Mbed的免费替代方案。本文将指导编程人员配置Eclipse,以生成二进制文件,之后可使用Windows资源管理器将其直接拖放到目标硬件上。访问本文末尾的链接,即可下载zip格式的配置文件。

Eclipse IDE可从MAX32625微控制器的专题页面下载。导航到工具和仿真 部分,然后单击Low Power ARM Micro SDK (Win) 下载链接,下载并使用默认配置安装Arm Cortex Toolchain IDE。

安装后,选择:

文件 -> 新建 -> Maxim Microcontrollers

如图2所示。

Figure 2. Creating the first project.
图2. 创建第一个项目。

出现 创建项目框时,确保项目名称中没有空格。

填写选择项目配置窗口,如图3所示。

Figure 3. Project configuration.
图3. 项目配置。

IDE如何与目标硬件通信?

下面先介绍一下Eclipse内部的运行情况,这有助于理解调试过程 中可能出现的错误消息。IDE使用两个程序与目标微控制器(本 例中为PICO)进行通信:GNU调试器(GDB)和开放式片内调试器 (OpenOCD)。GDB是一种高级调试工具,允许用户逐行调试代码、 设置断点和查看寄存器值。GDB与OpenOCD通信,OpenOCD工具可将 高级命令转换为目标微控制器更容易理解的内容。GDB和OpenOCD 都在PC上的Eclipse内部运行。PC和目标微控制器通过调试器连 接,调试器可将命令转换为微控制器的调试端口能够理解的电 信号。调试端口具有两种形式:JTAG调试端口、或其较低引脚 数的版本——单线调试(SWD)端口。得益于以上所有特性,编程 人员能够在实际目标硬件上逐行执行代码,查看寄存器值的变 化,而无需使用仿真器。

Eclipse IDE与GDB通信,GDB与OpenOCD通信,OpenOCD通过调试器与目标PICO上的调试端口通信。GDB和OpenOCD包含在软件开发套件(SDK)内,随SDK自动安装,并通过Eclipse调用。当PC和目标微控制器之间连接了调试器后,Eclipse和PICO之间可实现无缝的端到端通信。

在图3所示的项目配置中,假设Eclipse IDE连接到使用JTAG端口的 MAX32625EVKIT。但是,PICO使用较低引脚数的SWD端口,而不是JTAG调试器端口。因此,若要连接Eclipse IDE与PICO,可在PC和目标PICO之间再连接第二个PICO,以代替JTAG调试器。为了把第二个PICO与运行最终代码的目标PICO区分开来,在这里将第二个PICO被称为编程器PICO。编程器PICO需要通过名为DAPLink的程序加载,以便将来自PC的USB信号转换为PICO能够理解的信号。这个过程非常简单,本文第2部分的“加载二进制文件”中提供了简要描述。

由于使用的是编程器PICO,而不是JTAG调试器,因此在 选择适配器类型下方选择 MAX32625_PICO。参见图4。

Figure 4. Select adapter type.
图4. 选择适配器类型。

修改Eclipse以配合PICO使用

通过本文末尾的链接下载zip文件,然后解压缩到合适的位置。找到名为

MAX32625PICO.cfg

的文件,将其复制到以下目录:

C:\Maxim\Toolchain\share\openocd\scripts\target

该文件在原文件(MAX32625.cfg)基础上进行了修改,支持使用第二个PICO来代替JTAG调试器。该文件覆盖了通常由JTAG调试器发出的复位命令,并复位了目标微控制器器的一些寄存器、程序计数器和堆栈指针。

新项目创建好后,在Eclipse的项目浏览器选项卡(左上角)中右键单击项目名称,并选择:

调试为 -> 调试配置…

导航到左侧菜单上的 GDB OpenOCD 调试 ,并选择当前项目。

调试器选项卡中,将CFG文件从MAX32625.cfg更改MAX32625pico.cfg,如图5所示。

Figure 5. Pointing to the new config file.
图5. 指向新配置文件。

依次单击ApplyClose

项目浏览器窗口中,再次右键单击项目名称并选择Properties。左键单击C/C++ Build标题,然后在Builder设置选项卡下,确保Build命令显示为:

make ECLIPSE=1 release

如图6所示。该命令指示Eclipse生成可加载到PICO的二进制文件(可执行程序)。

Figure 6. Generating the binary file.
图6. 生成二进制文件。

点击 ApplyOK.

配置Eclipse以包含其他文件

为了使Arm处理器更易于编程,微控制器的供应商提供了底层驱动程序,以使编程人员的代码能够与微控制器内部的寄存器和外设进行通信。因此,编程人员无需担心寄存器的控制,而可以专心研究最终应用的更高级功能。这些驱动程序被称为通用微控制器软件接口标准(CMSIS),是对MAX32625进行编程所需的文件层次结构。MAX32625微控制器的核心是Arm内核,需要用到一组文件对其进行配置。Arm内核周围包含一组外设(ADC、GPIO端口、定时器、计数器、SPI端口等),不同基于Arm的器件之间的区别在于不同的外设构成。对外设进行配置时也需要用到一组文件。Arm内核及其外设共同构成了微控制器。然后,将器件安装在电路板上,并连接到显示屏、端口接头、开关、LED和蓝牙收发器等。需要另一组文件描述微控制器如何连接到电路板上的周围器件。

从MAX32625的核心(Arm内核)开始向外展开,有一组文件用于配置Arm内核本身,然后有一组文件用于配置Arm内核周围的外设,最后有一组文件用于配置评估套件上微控制器周围的器件。为了Eclipse能够在编译程序时找到这些文件,需要对Eclipse进行配置。

在Eclipse内部的Project Explorer窗口中,右键单击项目名称并选择Properties,然后展开C/C++ General菜单,并导航到Paths and Symbols部分。在Includes选项卡下,选择GNU C。使用AddFile system按钮,添加图7所示的目录。

Figure 7. Including external files.
图7. 包含外部文件。

添加了上述目录后,单击ApplyOK

下文解释了已包含的每个目录的作用。

C:\Maxim\Firmware\MAX32625\Libraries\CMSIS\Include
该目录包含MAX32625的Arm内核使用的文件。

C:\Maxim\Firmware\MAX32625\Libraries\CMSIS\Device\Maxim\MAX32625\Include
该目录包含MAX32625的外设/寄存器定义。

C:\Maxim\Firmware\MAX32625\Libraries\MAX32625PeriphDriver\Include
该目录包含启用MAX32625外设所需的文件。

结语

本文第1部分讲解了如何在Eclipse中创建项目,并介绍了对微控制器进行编程所需的软件。第2部分讨论了如何配置Eclipse以与PICO配合使用。

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

关于作者

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

关联至此文章

产品

资源

最新视频 21

Subtitle
了解更多