灵动微电子是国内一家专注于MCU产品与应用方案的领先供应商,可以提供基于ARM Cortex-M0及Cortex-M3 内核的MM32系列MCU产品,主要包括:针对通用高性能市场的MM32F系列,针对超低功耗及安全应用的MM32L系列,具有多种无线连接功能的MM32W系列,电机及电源专用的MM32SPIN系列,以及OTP型的MM32P系列等,能够满足客户及市场多领域、多层次的丰富应用场景需求。 Segger对于MM32 MCU的支持 Segger公司已经和众多国产MCU厂商例如灵动微电子、兆易创新和新唐等达成合作,为国产MCU提供成熟的开发环境Segger Embedded Studio、硬件调试工具J-Link和批量生产使用的Flasher编程器等系列产品。Segger系列产品对于MM32等国产MCU的大力支持有助于国产MCU建立成熟的产业生态,让国产MCU用户能够更好的进行研发和生产。 使用SES创建应用 本文将以灵动MM32 MiniBoard开发板为例,介绍如何通过Segger Embedded Studio创建应用。 灵动MM32 MiniBoard开发板板载的MCU型号是基于Cortex-M0内核的MM32F103CBT6,并且如下图所示,开发板上预留了标准的20Pin JTAG调试接口,可以连接J-Link来进行开发调试。 安装软件和芯片支持包 首先需要去Segger官网下载Segger Embedded Studio for ARM软件的安装包,下载链接如下: https://www.segger.com/downloads/embedded-studio/ 软件下载并安装完成后,在开发之前还需要安装芯片对应的支持包,如下图所示可以选择并安装MindMotion灵动公司的芯片支持包,此外Segger还提供有兆易创新、新唐等公司芯片的支持包。 项目工程创建,以及一些基础选项设置和调试操作可以参考前面发布的这篇文章,链接如下: https://mp.weixin.qq.com/s/CzpFKiVD-D5Vwsxeasm95g 除了可以直接使用Embedded Studio进行调试外,Segger公司还提供了另外一个功能强大的调试器—Ozone调试器。下面我们将介绍如何使用Ozone来调试MM32 MCU。 使用Ozone调试MM32MCU 1、Ozone调试器 Ozone是一个跨平台支持的代码调试软件,支持J-link和J-Trace调试器。可以加载IAR、keil、GCC、clang/LLVM等工具链编译生成的Elf/Dwarf可执行文件,进行C/C++源码调试和汇编指令调试。即便你之前的工程是基于GCC工具链创建的,依然可以借助ozone调试器来使用segger公司提供的强大调试功能,例如J-Link调试工具能够实现高速下载和无限Flash断点功能(需J-Link型号支持),以及RTOS调试插件等等。
在Segger Embedded Studio中,通过debug->debug with ozone选项直接跳转到使用ozone调试器进行调试。 进入Ozone调试界面后,如下图所示,可以看到一些常用的调试观察窗口,例如汇编代码、全局变量、局部变量和寄存器窗口等。 2、使用Timeline观测变量 Ozone调试器支持对变量数据进行高速采样,并以图形化的方式来展现数据的变化情况。下面我们介绍如何使用这个功能。 (1)通过View->Timeline选项打开时间轴窗口,在该窗口中支持以图形化的方式展现数据变量、开发板功耗和程序调用堆栈等的变化情况。但注意后两个功能需要使用到特定型号的J-Link。 (2)Ozone的数据采样功能支持局部变量和全局变量,但局部变量仅在该变量生效范围内才能够进行采样。选中想要观察的变量后,右键选择Graph选项将该变量添加到timeline时间线观察窗口。 (3)在Timeline窗口点击对应选项使能所要观察的窗口,蓝色高亮代表使能数据采样窗口。 还需要在该窗口中设置采样频率,如下图中设置的采样频率为5kH。右上角选项设置时间线的分辨率,此处时间线的分辨率也可以使用鼠标滚轮来调整。 (3)根据你所需要观察的变量的一个变化范围,在Timeline窗口中右键打开“Set Y-axis Range”选项设定合理的纵坐标轴范围。 示例中变量的变化范围是0-500,因此我们设定的纵坐标系的范围为0-500。 (4)运行程序,我们即可在timeline窗口中观察到变量的变化情况。 3、通过Timeline窗口观测功耗 在使用J-Link对开发板供电的基础上,如果使用J-Link PRO、J-Link ULTRA+和 J-Trace PRO型号的J-Link,可以通过J-Link对第19引脚进行数据采样,从而获得开发板上的功耗变化曲线,功耗曲线示例如下图所示。这一功能在开发低功耗类型的设备时将十分有用,可以帮助开发者掌控不同阶段代码所对应的功耗变化情况,从而进行设备功耗的优化。 Seggger公司旗下的产品,无论是IDE还是硬件调试工具,在与越来越多的国产厂商达成合作之后,都对国产MCU提供了完善的支持。
|