如何使用Keil Uvision对STM32F103C8T6进行编程?

在本教程中,我将向您展示如何使用Keil Uvision和STM32Cubemx代码生成器软件来编程STM32F103C8T6。您将学习如何安装软件(KEIL和STM32Cubemx),根据我们的要求配置软件,并使用ST-Link调试器和程序员上传代码。

介绍

到目前为止,我使用STM32蓝色药丸板实施了几个基于STM3F103C8T6 MCU的项目。在所有这些项目中,我都使用Arduino IDE作为编写代码的工具,并使用USB将代码上传到STM32到STM32UART转换器

将Arduino IDE用于STM32项目非常容易,因为熟悉的Arduino术语也可以应用于STM32F103C8T6。对于初学者来说,这是可以接受的,但是如果您想认真学习强大的STM32 MCU的工作,那么这不是正确的方法。

正确的方法是远离Arduino世界,并就软件和硬件输入更专业的工具集。说到软件,我建议您使用手臂的keil uvision iDE。这是与我们的STM32F103C8T6这样的基于ARM的MCUS合作的绝佳工具,并且还支持适当的调试。

进入硬件,我们必须使用单独的硬件进行编程(以及调试)STM32蓝色药丸板。该硬件称为ST-Link/V2。它是由Stmicroelectronics开发的电路程序员和调试器。尽管原始程序员会很昂贵,但有许多与原始程序员兼容的第三方程序员,而且成本要少。

还有另一个称为STM32Cubemx的重要软件。这也由STMicroelectronics提供,用于为特定的STM32 MCU以及特定的IDE生成代码。

我将向您展示如何使用所有这些软件和硬件,以便您可以使用Keil Uvision和STM32Cubemx轻松编程STM32F103C8T6。

下载并安装STM32Cubemx

首先,让我们从STM32Cubemx代码生成器工具开始。从中下载此软件这个官方Stmicroelectronics网站。您必须登录到ST才能下载该软件。在撰写本教程时,STM32Cubemx的版本为5.6.1。安装软件并打开它。

STM32Cubemx安装和配置1

在应用程序的右侧,单击安装或删除嵌入式软件包选项。一个新窗口将打开。

STM32Cubemx安装和配置2

在其中,选择STM32Cube MCU软件包选项并展开STM32F1选项卡(因为我们的MCU是STM32F103C8T6)。当时的最新包装为1.8.0。选择最新版本,然后单击底部的“立即安装”选项。它将下载并安装MCU软件包。完成后,您可以关闭此窗口。

STM32Cubemx安装和配置3

新的STM32Cubemx项目

现在,在主窗口中,选择对MCU选择器选项的访问。一个新窗口将为我们打开,以选择我们正在处理的MCU。

STM32Cubemx安装和配置4

在新窗口中,在MCU/MPU选择器选项卡下,搜索“ STM32F103C8”。在右侧,我们的MCU将被列出。选择MCU,在右上角单击“开始项目”选项。

STM32Cubemx安装和配置5

主项目窗口将在右侧的STM32F103C8T6 MCU和左侧的配置选项上打开。在PINOUT和配置选项卡中,展开系统核心块,然后选择SYS选项。选择调试作为串行线。选择此选项后,您可以观察到PINS PA13和PA14是SWDIO和CK,即串行线调试数据和时钟引脚。

STM32Cubemx安装和配置6

下一步是配置蓝色药丸板上的LED。我们从STM32蓝色药丸的示意图中知道,绿色LED连接到PC13。因此,放大到STM32F103C8T6 MCU的PINOUT视图和PC13 PIN上,进行左键单击并选择GPIO_OUTPUT选项。我们可以通过右键单击PC13 PIN并选择Enter用户标签选项来更改此PIN的标签。我使用了标签“ LED_GREEN”。

STM32Cubemx安装和配置7

这完成了项目的基本设置。我们可以配置的另一件事是时钟,但是STM32 MCU默认使用内部RC振荡器(在SystemInit函数中配置)。因此,我们可以保持时钟配置。

在下一步中,选择“项目管理器”选项卡,然后为您的项目选择一个适当的位置和名称。就我而言,我将该项目命名为“ STM32_LED_BLINKY”。另外,选择工具链 / IDE作为MDK-ARM,只不过是Keil Uvision IDE。

STM32Cubemx安装和配置8

选择工具链后,单击“代码生成器”选项,然后仅选择“必要的库文件”选项。之后,您可以单击生成代码选项。该工具将根据选定的IDE创建一个项目,还将为项目复制必要的库文件。生成代码后,您可以关闭STM32Cubemx软件。

STM32Cubemx安装和配置9

关于ST-Link调试器和程序员的简短说明

在进行进一步之前,让我们简要介绍一下ST-Link程序员和调试器。它的最新修订称为ST-Link/V2。ST-Link/V2程序员的便宜版本显示在下图中。

ST-Link V2调试器和程序员

程序员的一端是USB男性连接器,您可以插入计算机。程序员的另一端由JTAG /串行线调试(SWD)接口组成。该界面的引脚整齐地打印在调试器模块的顶部。

ST-Link V2调试器和程序员PINOUT

从这些销钉中,我们必须使用3.3V,GND,SWDIO和SWCLK引脚。如果您还记得STM32F103C8T6蓝色药丸板的引脚,则SWD界面将整齐地放置在右侧。

STM32F103C8T6板功能

下载并安装Keil Uvision

现在,让我们继续安装Keil Uvision MDK备用手臂。使用这个链接,输入您的联系信息,然后下载MDK-ARM的评估版本。当时,MDK-ARM版本5.29是最新版本。

Keil MDK下载页面

安装后,MDK,您无需打开Keil uvision,因为我们将使用STM32Cubemx从前生成的代码进行此操作。

新的Keil Uvision项目

我们可以使用STM32Cubemx代码生成期间创建的项目,而不是创建新的Keil Uvision项目。打开较早保存STM32Cubemx项目的文件夹,并打开MDK-ARM文件夹。

Keil MDK项目1

在此文件夹中,有一个KEIL MDK项目文件STM32_LED_BLINKY。双击此文件,keil uvision将使用所有源代码和库文件打开。之后,您可以打开main.c文件。

Keil MDK项目2

修改闪烁LED的代码

使用STM32CubeMX生成的代码只是初始化代码,除了根据用户配置初始化某些外围设备以外,没有其他操作。为了实现应用程序,例如闪烁LED,您必须添加必要的代码。

在main.c文件中,向下滚动到主函数,并在(1)循环中添加以下代码。

hal_gpio_togglepin(LED_GREEN_GPIO_PORT,LED_GREEN_PIN);

hal_delay(1000);

Keil MDK项目3

该代码将以1秒的延迟闪烁LED。现在,您可以使用IDE中的F7或快捷方式“构建”项目。Keil Uvision现在将编译代码并显示底部的编译结果。如果有任何错误或警告,将显示存在错误或警告的行号,以便您可以轻松纠正错误。

需要组件

在了解如何使用Keil Uvision对STM32F103C8T6进行编程之前,让我们看一下组件和连接。

  • STM32F103C8T6基于MCU的STM32蓝色药丸板
  • ST-Link/V2调试器和程序员
  • 连接电线

将ST-Link与STM32F103C8T6连接

将ST-Link/V2的SWDIO引脚连接到STM32蓝色药丸的SWIO引脚。还将ST-Link/V2的SWCLK引脚连接到STM32蓝色药丸的相应SWCLK引脚。最后,连接3.3V和GND引脚。

ST-LINK/V2

STM32蓝色药丸

gnd

gnd
3.3V

3.3V

SWDIO

Swio

swclk

swclk

如何使用Keil Uvision对STM32F103C8T6进行编程?

建立上述连接后,我们可以使用Keil Uvision进行STM32F103C8T6。将ST-Link/V2调试器连接到计算机。在Keil Uvision中,单击项目选项卡,然后选择目标……链接的选项。

Keil MDK项目4

选择“调试”选项卡,然后选择ST-Link调试器。之后,单击与之相邻的设置选项。

Keil MDK项目5

转到Flash下载选项并检查重置和运行选项。之后,单击确定以保存设置,然后再次单击确定以关闭目标的选项。

Keil MDK项目6

现在,如果您对代码进行了任何更改,请保存所有更改,然后选择“构建选项”旁边的重建选项。如果没有错误,请单击下载选项。Keil Uvision在ST-Link/V2的帮助下,现在将对您的STM32F103C8T6进行编程。您可以在底部看到状态。

Keil MDK项目7

结论

在本教程中,我向您展示了如何使用Keil Uvision,ST-Link/V2调试器和程序员对STM32F103C8T6进行编程。

一个回应

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map