ChibiOS系列:二、在STM32上开发:介绍ChibiStudio

本文翻译自:http://www.playembedded.org/blog/developing-stm32-chibistudio/

在STM32上开发:介绍ChibiStudio

 发表于 2017年8月2日  更新了 2018年6月24日

介绍

在本文中,我们将为STM32上的开发设置一个名为ChibiStudio的即用型基于Eclipse的工具链。我们还将探索此开发工具链,解释日常开发所需的一些基本操作。因此我们将介绍ChibiOS项目,我们将设置ChibiStudio参观其中的一些部分,我们将导入一些即用型项目并执行我们的第一次闪存和运行。请注意,要继续本教程,必须安装ST-Link驱动程序:此过程已在上一篇文章  从0到STM32中显示

关于编程语言的注释

到目前为止,我们从未故意讨论过编程语言。实际上,编程是心态和逻辑的问题。语言只是实现明确定义的一种方式。当然,某些语言更适合某种目的。关于嵌入式编程,这种软件开发非常接近硬件,因此大多数嵌入式库都是用C语言汇编语言编写的在某些情况下,某些库是用C ++编写的,更少用JavaPHPJavascript 编写

我们打算用C.

ChibiOS项目

到目前为止,我们已将ChibiOS称为嵌入式库,这是获得资格认证的最简单和最通用的方法。更具体地说,ChibiOS代表小型操作系统(Chibi是日语,意思是小),但今天它不仅仅是一个操作系统。

历史简介

盗梦空间

ChibiOS(以前的ChibiOS / RT)是一个出生于80年代的项目,2007年由我的导师和朋友Giovanni Di Sirio在Sourceforge上发表。最初,该项目被命名为ChibiOS / RT,因为它基本上是一个实时操作系统(或RTOS)。经过几个月的开发,该项目开始包含一组用于测试目的的设备驱动程序。

在成长过程中,设备驱动程序分支变得自我一致。它是从RT拆分并命名为HAL。在版本3.0.0之前,HAL和RT是联合在一起并相互依赖的。从3.0.0开始,这两个部分已经通过操作系统抽象层(也称为OSAL)分离和互连,这样HAL就能够独立于底层操作系统运行。

如今

ChibiOS项目现在拥有四种软件产品组合,可以单独使用或联合使用。它现在计算两个不同的内核:第一个是RT,现在名称  ChibiOS / RT  仅指RT; 第二个是另一个OS,它可以被认为是RT的子集,被设计为有史以来最小的RTOS,并被命名为  ChibiOS / NIL)。

HAL(硬件抽象层)已重命名为ChibiOS / HAL。从最新版本开始,ChibiOS还包括一组新的复杂驱动程序:它的名称是ChibiOS / EX,代表外部外围设备。我们将在开始使用它们时正确描述所有这些产品。在本教程中,我们将使用基于ChibiOS / RT + ChibiOS / HAL的一些演示。

有用的链接

这里有一组与ChibiOS相关的有用链接。我们将在以后加深它们,但现在将所有快速参考分组在同一个地方是很好的:

  • ChibiOS项目有一个官方网站(chibios.org)和一个支持论坛(forum.chibios.org):我建议您浏览该网站,因为它有有趣的技术信息,文档和新闻。另一个好主意是订阅论坛并与社区联系:它可能是一个不可替代的知识来源。
  • 该项目有一个官方的Facebook页面:喜欢并关注它以接收有关该项目的发布或事件的新闻。
  • 代码附带详细的文档  (每个子项目都有一个文档):这在开发时非常有用。无论如何,使用名为Doxygen的工具从代码中自动生成文档。这意味着探索代码,您将能够找到所需的所有信息。我们将在以后的实践中加深这一点。
  • 该项目通过Sourceforge分发。在项目页面上,  您将找到SVN存储库的链接以及包含所有可下载文件的目录

最后需要注意的是,PLAY Embedded有很多资源可供学习使用ChibiOS。我们经常为评论我们的文章或订阅我们的论坛(forum.playembedded.org)的人提供支持。

我们强烈建议仅在与PLAY Embedded文章/演示相关的问题上向我们的论坛寻求帮助。

版本号

当您寻求帮助时,最重要的想法是提供有关您正在使用的ChibiOS版本的准确信息。

该项目使用方法yy.mp“codename”作为软件包版本发布,  其中:

  • yy表示发布年份(不太重要的两位数),仅在主要版本上发生变化;
  • m表示发布月份数,仅在主要版本和年份上发生变化;
  • p表示补丁,如果小错误修复,则会增加一个数字,所以在次要版本中;
  • 代号是当前补丁的标识符。

根据Mmp方法,每个产品(例如RT或HAL)都有自己的版本号,  其中:

  • p表示补丁,如果小错误修复,则会增加一个数字;
  • m表示次要,一个数字在小的变化或甚至添加功能的情况下递增,这些功能在任何情况下都不会影响API;
  • M表示主要数字,如果API更改或添加需要更改设计的大功能,则数字会增加。

在撰写本文时,最新的ChibiOS软件包也表示为ChibiOS 17.6.2“Allegro”,  而ChibiOS / RT为4.0.0,ChibiOS / HAL 5.0.0和ChibiOS / NIL 2.0.0。相反,ChibiOS EX是一个单独版本的驱动程序的集合。现在我正在审阅这篇文章ChibiOS包被标记为  ChibiOS 18.2.1“Ravello”,  但是这里提供的文章中解释的概念仍然有效。

总结:

每个ChibiOS子项目都有自己的版本号,由三个数字Mmp标识。整个软件包的版本是三个数字加一个字系统yy.mp“codename”。

最后需要注意的是,两个不同的补丁号码之间存在完全兼容 作为在ChibiOS 17.6.0上运行的示例代码“Adagio”也在ChibiOS 17.6.2“Allegro”上运行,但即使移植非常简单,也可能无法在ChibiOS 18.2.1“Ravello”上编译。

如何使用它

基本上ChibiOS是一个软件库:它是一个包含源代码和其他纯文本文件的文件夹。没有工具链就没有办法使用ChibiOS!

处理编程,使用嵌入式编程更是如此,您将经常听到“工具链”。

工具链是一组链接(链接)在一起的不同软件开发工具。当您开发嵌入式系统的  代码时,您正在编译将在与您的计算机不同的计算机上运行的代码。 

所以,我们需要

  1. 能够满足我们MCU的特定嵌入式库
  2. 一个能够生成最有可能在不同架构上运行的代码的编译器:这称为交叉编译器
  3. 一个闪光灯闪二进制到STM32,
  4. 在一个体面的开发系统中,一个调试器在运行时测试代码。

所有这些都是在ChibiStudio中提供的,这是一个名为ChibiStudio的现成工具链,我们现在要安装它。 下图是工具链的示意图:

在PC端,我们有工具链,其中包含ChibiOS嵌入式软件+用户应用程序。它通过ARM GCC交叉编译器编译生成固件。

在开发套件方面,STM32通过JTAG连接到ST-Link调试器。

双方通过HW层(STLink + Cable)和SW层(OpenOCD和GDB Server)互连。使用此互连可以在STM32上闪存固件,并且逐步执行代码以观察MCU存储器的状态。

开发系统图

由ChibiStudio +基于STM32的开发板组成的开发系统图

ChibiStudio的设置

让我们在Microsoft Windows上设置ChibiStudio,  以便更好地理解我们刚刚阅读的内容。还不是可以在Linux或Mac OS下重新组装相同的工具链,你可以在ChibiOS网站上找到关于它的一些指南(我已经看到ChibiStudio在Mac OS X Sierra和Linux Mint下运行)。

我不习惯Linux,但我打算写一篇关于如何在Linux下组装ChibiStudio的文章。现在,如果您正在学习本教程,我的建议是临时安装虚拟机。如果有人想为Linux安装文章做出贡献,请评论这篇文章:总是欢迎帮助。

接下来是“边做边学”部分:强烈建议从此处开始,然后自己重​​复相同的步骤。实践是理解的最佳方式!

对Windows的要求

安装ChibiStudio有一些要求:

  • 具有管理权限的Windows 7或更高版本;
  • 自ChibiStudio基于Eclipse 32 以来,Java 32位。请注意,要安装Java 32位,您必须卸载Java 64位;
  • 安装最新版本的7-zip:ChibiStudio压缩为.7z,这可以防止提取过程中出现问题。
  • 卸载所有防病毒软件并启用Windows Defender。

让我对最新一点做一些澄清。工具链包含很多可执行文件,例如来自GCC或openocd.exe的make.exe。这些可执行文件是如此匿名,以至于常见的防病毒检测它们就像病毒一样被杀死,因为它们被调用来执行它们的正常功能。这会导致工具链出现意外行为。某些防病毒软件也可以暂时禁用,但根据我的经验,即使禁用,它们仍会继续在后台运行

一个有趣的评论,2014年赛门铁克Info-Sec高级副总裁Brian Dye表示,杀毒软件“已经死了”:Dye 告诉华尔街日报,黑客越来越多地使用新颖的方法和计算机软件中的漏洞进行攻击,结果在大约55%的网络攻击中,商业防病毒软件没有注意到这一点。我的建议保持不变:卸载所有防病毒软件并启用Windows Defender; 最好的防病毒是你的手指。

循序渐进的指南

可以执行ChibiStudio的设置,从C:\下的存档中提取工具链。

如果文章已过期,请安装最新版本的ChibiStudio。如果此处使用的版本与最新版本之间存在重大差异,请告知我们,我们将及时更新本文。

请注意,ChibiStudio软件包托管在Sourceforge上。要获得此工具链的最新版本,只需在谷歌搜索“chibistudio sourceforge”,您就可以找到下载页面。顺便说一句,    是ChibiStudio档案的链接。

可以按照以下简单步骤执行设置:

  1. 下载最新版本的ChibiStudio
  2. 使用7zip 在C:\下提取它。
  3. 复制桌面上的“Chibi Studio GCC 7.0”或“Chibi Studio GCC 5.4”链接,并使用它启动工具链。

除了ChibiStudio使用的编译器版本之外,这两个链接完全相同:第一个使用gcc-arm-eabi 6.3,第二个使用gcc-arm-eabi 4.7

在C:\下提取工具链是非常重要的,因为批处理文件和Eclipse是预先配置的:如果工具链的文件放在C:\ ChibiStudio中,它将起作用!

为了使思考最简单,这个简短的视频将向您展示如何执行以前的枚举步骤。

 

如果您无法运行ChibiStudio并且错误窗口提示您很可能没有正确安装Java 32位或在提取过程中出错。

探索ChibiStudio

一些必要的概念

使用ChibiStudio进行启动可能非常棘手,特别是如果您是Eclipse的新手。我们将介绍一些与Eclipse相关的一般概念,指出哪些是ChibiStudio特定的定制:这将改善您的体验。如果您已经熟悉ChibiStudio,请随意跳到第4.2段。

首先,Eclipse是一个集成开发环境(通常缩写为IDE)。IDE是一种旨在通过视觉辅助来简化开发过程的工具,如代码突出显示,自动完成内容辅助,高级代码浏览,调试窗口等。

Eclipse是完全开源的,并且被广泛使用但不是绝对必要的:如果您愿意,也可以在文本编辑器中编写代码并使用shell编译它。无论如何,配置良好的IDE总是很好地帮助快速开发代码,特别是如果您不习惯使用shell和脚本语言。

工作台和工作区

Eclipse在Workbenches中组织:  工作台实际上是Eclipse的主窗口。它是您可以组织编程工具的工作台,因此可以使用不同的  视图编辑器。视图和编辑器是操纵源和数据的工具。并且您可以为他们安排特定的任务(探索,调试,编码等)。

与Workbench相关的所有配置(设置,IDE相关变量,透视图,历史记录,导入的项目等)都将作为元数据保存在名为Workspace的特定位置。工作空间文件夹也是保存新项目的默认位置。

ChibiStudio不仅提供了ChibiOS的版本,还具有背面兼容性。例如,  ChibiStudio Preview 20 附带三种不同版本的ChibiOS:

  • ChibiOS 18.2.1  (位于  C:\ ChibiStudio \ chibios182),这是ChibiStudio Preview 20发布时最新的ChibiOS稳定版本;
  • ChibiOS 17.6.4(位于  C:\ ChibiStudio \ chibios176),这是ChibiOS的早期版本,当工具链发布时可以使用最新的补丁。
  • ChibiOS Trunk(位于  C:\ ChibiStudio \ chibios_trunk)。Trunk代表ChibiOS的开发版本,根据定义,当ChibiStudio Preview 19发布时,可以使用最新版本号更新。

最旧版本的ChibiOS的存在将是旧版本和新版本之间的桥梁:在同一工具链中使用ChibiOS的先前版本和最新版本可能是使用相同工具链将176个项目移植到182的机会。而后备箱可用于测试新功能,也可用于我们继续开发。请注意,可以在trunk上将其更新为本文后面的最新版本  (我们现在不打算使用trunk,因此您现在不需要这样做)。

对于ChibiStudio中集成的每个ChibiOS版本,都有一个相关的工作区。因此,在ChibiStudio Preview 20中,有三个不同的工作区:

  • 工作区182(位于  C:\ ChibiStudio \ workspace182),配置了已预先导入的ChibiOS 182的所有可用演示;
  • 工作区176(位于  C:\ ChibiStudio \ workspace176),配置了已预先导入的ChibiOS 176的所有可用演示;
  • 工作区中继线(位于  C:\ ChibiStudio \ workspace_trunk),可以尝试中继新功能。

此外还有一个其他工作区:

  • 工作区用户 (位于  C:\ ChibiStudio \ workspace_user,这是一个专用于用户的空工作区。

在Eclipse中,Workspace和workbench是不同概念的不同术语:工作台是Eclipse主窗口,工作空间是一个目录,用于保存有关工作台的信息,例如您使用的项目,以及Eclipse首选项(从布局到行为) 。有关更多信息,请参阅Eclipse文档

可以通过菜单File-> Switch Workspace切换正在使用的工作区,并从历史记录中选择工作区或选择“ Other ... ”来浏览新工作区,如下图所示。

切换工作区

切换工作区菜单

看一下这个菜单,您还可以确定哪个是正在使用的工作空间,因为它不在列表中。参考上图,我们目前正在使用不在历史列表中的Workspace User

选择另一个Workspace Eclipse将重新启动加载新的Workbench。

展望

您可以保存Workbench的组织,以便在适当的时候快速调用:这些预设采用透视图的名称。

ChibiStudio的观点

ChibiStudio的观点

可以使用Workbench右上角的正确按钮切换透视图。还可以添加其他透视图,通过位于菜单栏中的下拉菜单“窗口”将当前透视图保存或重置为默认值。

请注意,切换透视图是视图组织的问题,这不会影响您的代码或文件。您可以根据需要切换透视图而无需担心。

ChibiStudio有两个独立的视角:C / C ++Debug。如果在第一次运行时,您的右上角没有C / C ++和Debug透视图,则很可能您没有卸载防病毒软件,或者您没有更新7zip:提取已受此影响。

ChibiStudio的观点

仔细看看ChibiStudio的观点。左边是C / C ++透视图,右边是Debug透视图。

这两种观点反映了分割代码开发过程的方式。代码编辑只是整个开发过程的一个阶段:编译代码并不意味着它按预期工作。我们在这里谈论  功能行为。因此,整个开发过程可以分为两个特定部分,在开发过程中有两个特定时刻:

  1. 软件的开发,换句话说,这一过程涉及到新项目创建,代码编辑,编译和错误和警告的分辨率。C / C ++的透视图面向这个部分,您可以弄清楚这一点,因为最大量的工作台区域专用于文本编辑器区域。
  2. 调试,换句话说那一刻相关测试我们的代码功能,检测异常行为或软件的性能和一致性评价。Debug的观点面向这个阶段,它提供了许多额外的窗口来探索代码,内存和变量或评估表达式,连接终端等等。

首次发布

该项目探索ChibiStudio 20

首次启动时,ChibiStudio通常会显示一个欢迎窗口:关闭它。你应该现在处于C / C ++的角度。编辑器窗口是工作台中间最大的窗口,应该为空。在右边有Project Explorer,它通常  包含所有导入的项目。

如果您已经下载了ChibiStudio Preview 20,您将从用户工作区开始,项目探索应该只包含两个虚拟项目,代表我们工具链的文档和工具,如图5所示。

项目文件夹

一些ChibiOS项目

此时继续进行的最佳方法是导入即用型演示。我们需要导入的演示位于文件夹  C:\ ChibiStudio \ chibios182 \ demos \ STM32下。这是真的,因为我们将使用ChibiOS 182,但在ChibiOS 176和ChibiOS Trunk目录下也有类似的文件夹。

demos \ STM32目录中有很多文件夹,每个文件夹代表一个独立的项目。每个项目都按照相同的模式KERNEL-MCU-BOARD命名 例如,RT-STM32F207ZG-NUCLEO144是基于ChibiOS / RT的STM32 Nucleo F207ZG演示,Nucleo-144配备STM32F207ZG,它可以在这个特定的开发套件上工作

导入现有项目

下一步是为您要使用的开发板导入演示。几乎所有官方STM32 Discovery和STM32 Nucleo板都受支持。由于我将使用STM32 Nucleo F401RE  和STM32F3 Discovery套件,我将导入  RT-STM32F401RE-NUCLEO64和  RT-STM32F303-DISCOVERY

导入现有演示所需的步骤如下:

  1. 从菜单中选择文件 - >导入 ;
  2. 在新提示的窗口中,选择Existing project into workspace,然后按Next ;
  3. 选择根目录:“ C:\ ChibiStudio \ chibios182 \ demos \ STM32”;
  4. 检查要导入的所有项目,然后按“ 完成”

以下视频已在ChibiStudio Preview 19中完成。如果您使用的是ChibiStudio Preview 20,则几乎相同。不同之处在于最新版本的ChibiOS是182,因此我们必须选择不同的演示根(“ C:\ ChibiStudio \ chibios182 \ demos \ STM32 ”而不是  “C:\ ChibiStudio \ chibios182 \ demos \ STM32”)。

当更新版本的ChibiStudio可用时,此论证将更有效。使用最新稳定版ChibiOS的演示总是一个好主意,许多用户甚至使用Trunk。另请注意,在下面的视频中,我们将导入名为RT-STM32F303-DISCOVERY-REVC的演示,该演示  已在ChibiOS182中与RT-STM32F303-DISCOVERY合并  (因此,如果您使用F3 Discovery导入此演示文件)。

 

处理进口项目

此时,根据您导入的项目数量,Project Explorer应包含一个或多个其他项目。

在Eclipse中,项目是一个包含文件,链接和子文件夹的蓝色文件夹,它实际上是镜像到真实文件夹。例如,项目RT-STM32F401RE-NUCLEO64  镜像到目录“ C:\ ChibiStudio \ chibios182 \ demos \ STM32 \ RT-STM32F401RE-NUCLEO64 \”。为了能够在Eclipse中探索项目,它应该是开放的。您可以右键单击该项目并选择“ 打开项目”打开项目

在Eclipse中,可以打开或关闭项目,右键单击它并从菜单中选择正确的条目。项目仅在打开时显示其资源。为避免混淆,最好将所有项目关闭,除了您正在使用的项目。可以关闭所有项目,只需右键单击要保持打开的项目并选择关闭不相关的项目

建立和清洁

构建文件夹

build文件夹:在ChibiStudio中成功制作的结果

我们将要使用的项目基于makefile:makefile是一个脚本文件,其中包含make用于构建代码的一系列指令。ChibiOS中的所有项目都带有一个完整的,随时可用的makefile。

可能会发生必须编辑makefile以自定义构建过程或包含新源的情况,如有必要,我们将面临此问题。现在我们不必编辑makefile。无论如何,有趣的是,如果构建过程成功结束,则makefile旨在在项目主文件夹下创建名为build的子文件夹。

如图所示,build文件夹包含编译的固件,如二进制(ch.bin)和十六进制(ch.hex),还有可执行和可链接格式文件(ch.elf)。该ELF包含的代码是如何在内存中组织和执行,而且信息的所有符号的列表:这个文件是由调试活动所需。

要构建项目,请右键单击它并选择Build Project。另一种方法是单击它并按工具栏中的锤子按钮。如果过程成功结束,则会出现一个新文件夹到项目中:它名为build,包含make进程的输出,如bin,hex,elf和其他格式。

请注意,也可以清理项目,清理过程会删除构建。如果我们不清理项目,如果编辑很少,下一个构建时间将会缩短。这是因为build文件夹中还包含一些目标文件

目标文件是make进程的一种部分输出。如果Eclipse“认为”尚未修改相关源,则不会重建这些文件。这可以减少小编辑时的构建时间。

很少会发生这种机制失败的情况:在这种情况下,代码和二进制文件之间可能存在一些错位。在这种特殊情况下,清洁和重建将解决任何问题。当我们对代码进行主要编辑时,一个好主意是清理和重建项目,特别是在处理makefile或预处理器指令时。

在构建默认演示期间可能存在多种失败原因,最常见的是:您的防病毒软件,在ChibiStudio提取期间发生错误或ChibiStudio主文件夹错位。

Flash并运行

闪存和运行是软件开发的一个重要部分。此过程将二进制文件复制到微控制器闪存中并开始执行。闪存和运行在ChibiStudio中自动完成,涉及PC端的OpenOCD和开发板侧的ST-Link,如图1所示。

OpenOCD是一个开源GDB服务器,为硬件调试器提供编程接口。调试器允许常见操作,如写入/擦除闪存,写入/清除RAM存储器,设置寄存器值,设置断点或观察点,设置程序计数器,逐步执行代码等。从我们的观点来看,我们可以说:

调试器由硬件部分(在本例中为ST-Link Embed Debugger)和软件部分(在本例中为OpenOCD)组成。调试器可以被视为我们的IDE和MCU之间的桥梁。要执行任何调试操作,第一步是“创建此桥”

启动工具

ChibiStudio推出工具

我们将使用两个按钮来执行闪存和运行:这两个按钮如图所示,是外部工具菜单(橙色)调试菜单(Azure)。实际上,我们不应该按下按钮,而是按下它们旁边的小黑箭头:这将打开一个下拉菜单。

要执行闪存和运行,我们必须启动OpenOCD:这可以通过外部工具菜单(橙色)完成。

请注意,从ChibiStudio Preview 20开始,如果 未打开已导入的项目ChibiStudio工具,则菜单将显示为空。

这个菜单随着ChibiStudio Preview 20略有变化,所以如果你有机会看到它之前的注意事项,请注意现在STM32的点击选项已经改变,并且所有板都是相同的:“ ST-Link上的OpenOCD (提示.cfg目标配置) “。

在ChibiStudio 20之前,最多有三种不同的配置,这取决于我们的ST-Link版本。这取决于我们的开发板,这些信息可以在开发板泡罩上找到,并在用户手册中报告。从工具链的角度来看,这个版本不再具有相关性。

从该菜单中选择语音后,窗口将提示:在此窗口中,我们必须提供与OpenOCD相关的配置脚本,该脚本指示我们正在使用哪个板。为此,我们必须指向文件夹C:\ ChibiStudio \ tools \ openocd \ scripts \ board 并选择正确的脚本。每个STM32 Nucleo都有自己的脚本分组,因此有例子st_nucleo_f4.cfg 适用于STM32 Nucleo F401RE,STM32 Nucleo F410RB,STM32 Nucleo F446RE等。

OpenOCD日志

如何在OpenOCD正确启动时查看控制台窗口。

通过选择配置,OpenOCD尝试启动,如果此操作成功,OpenOCD将识别目标:在控制台窗口中 我们将获得MCU电压,断点和观察点的数量,如图9所示。

调试菜单(图8中的Azure),我们现在可以启动闪存并运行选择正确的启动配置。每个项目都有自己的启动配置,我们可以将它与相关项目相关联,因为它们具有相同的名称。一旦我们选择了它,Eclipse将构建项目(如果尚未完成)并将启动程序自动切换到Debug:在这个透视图中我们可以按Resume按钮运行代码执行,如图10所示。

调试窗口+恢复

ChibiStudio中的恢复按钮。在调试窗口中可以看到OpenOCD正在运行。

总结:

  1. 外部工具菜单启动OpenOCD,选择正确的接口(本例中为ST-Link);
  2. 在新打开的窗口中,选择与正在使用的板相关的正确配置脚本;
  3. 检查OpenOCD是否已正确启动以查看控制台窗口:应该有关于MCU电压,断点数和观察点的信息。
  4. 调试菜单中,启动闪存并运行选择正确的启动配置;
  5. 在Debug透视图中,按Resume按钮运行代码执行。

在下面的视频中,我们将展示闪存的过程并在STM32F3 Discovery上运行。请记住:

  • 演示  RT-STM32F303-DISCOVERY-REVC已从ChibiOS 182开始 与RT-STM32F303-DISCOVERY合并  ,
  • ChibiStudio Preview 20开始统一ST-Link接口,
  • 要在外部工具菜单中查看任何条目,您应保持项目ChibiStudio工具打开。

 

STM32 Nucleo F401RE也重复了同样的程序,只是为了让你能够发现差异:

 

第一个闪存和运行过程非常重要,以检查您是否正确设置了工具链。例如,如果您无法启动OpenOCD,可能是ST-Link驱动程序出现问题:在这种情况下,请检查驱动程序是否已正确安装,并检查USB电缆是否已正确连接到正确的端口:确定Discovery套件不仅仅具有USB端口,因此您必须检查是否使用标记为ST-Link USB的端口。

如果在打开Debug透视图时收到错误,则可能是OpenOCD未正确启动或者已失去与目标的 连接,因此您必须重新启动它(在调试环境中,调试器所针对的MCU通常称为目标)。

如果OpenOCD正常启动,您将能够读取目标电压,断点和观察点的数量

有关目标的信息将显示在控制台窗口中,如图9所示。 在OpenOCD运行时,在Debug透视图中,您将看到一个相关的条目,如图10所示。注意,

您无法启动OpenOCD两次,如果OpenOCD未运行,则无法启动Flash和运行过程。要重新启动OpenOCD,您必须终止第一个实例。

恢复代码执行后,一个或多个板载LED将开始闪烁。在STM32 Nucleo-64上有一个绿色LED,在STM32 Nucleo-144的情况下,有三个彩色LED执行一个不错的灯光游戏,在STM32F3 Discovery的情况下它更加华丽,因为这个板有8个LED。

如果LED闪烁,表示您已成功完成本教程,您可以跳到下一篇文章。如有问题,请发表评论或订阅我们的论坛

在本文中,我们更多地关注IDE和软件开发所需的基本过程。在下一篇文章中,我们将深入研究默认演示,重点关注编程。

猜你喜欢

转载自blog.csdn.net/BreederBai/article/details/81538526