所需硬件
1. STM32F746 Nucleo - 144 F746ZG开发板;
2. Micro USB线缆。
内容简介
Nucleo - F746ZG开发板使用意法半导体公司的基于ARM Cortex M7内核的微控制器STM32F746ZG。 该开发板包含一个板载在线调试器(ICD),称为ST-LINK V2-1,用于对微控制器进行编程。 开发板上的ICD部分有自己的USB接口。 同一个ICD可以用于编程其他STM32F系列微控制器。 使用Micro USB线缆连接,我们就可以用PC软件对微控制器进行编程。 我们将使用传统的C语言来编程开发板,并使用IO端口设置打开/关闭LED。 我们将使用ICD的调试功能对代码进行烧写,并测试内部寄存器来检查我们写入的数据。 是的,这是ICD的一个优势,,你可以看到已经写在内部寄存器的数据。
要了解更多关于Nucleo开发板的信息,请查看以下链接:Nucleo - 144 F746ZG Development board user manual
该文档的中文版:Nucleo - 144 F746ZG开发板用户手册
您需要下载TrueStudio 6.0 Lite。 对于编程/调试来说,lite版就可以了。 但是如果要使用ST-LINK的高级功能进行调试,需要购买专业版。TrueStudio的官方下载地址:TrueStudio 6.0(860MB)
参考文档
上述文档的链接中,你可能需要参考以下文档,来帮助你更好地编写代码。
1. RM0385参考手册(18MB)
2. STM32F746xx数据表生产数据(3.2MB)
使用TrueStudio的分步过程:
1. 第一次启动Nucleo时,NUCLEO运行演示代码,LED以不同的速度闪烁,并且根据用户的开关次数LED闪烁的速度会发生变化。 因此,当您使用micro USB电缆将NUCLEO连接到PC时, 将开始执行该代码,并且会自动安装USB驱动程序。 如果没有看到任何LED闪烁,请检查电源LED指示灯是否为绿色。 这一点不需要担心。 但是如果想检查驱动程序是否正确安装,你需要去设备管理器检查STLINK虚拟串口。 您可以通过点击开始按钮并在搜索栏中输入device manager来进入设备管理器。 设备管理器如下图所示:
2. 现在打开Atollic TrueSTUDIO for ARM 6.0.0。 您可能会被要求升级到pro,但您可以在5秒后继续使用lite版本。
打开TrueSTUDIO后,它将如下所示。 我用蓝色标记了重要的按钮和位置:
3. 在菜单栏,单击文件,然后单击新建,并选择c项目。 我的工作区在D盘。 选择以下项,因为您需要这些设置才能在Nucleo上运行c代码。
4. 点击下一步后,现在您将看到硬件设置界面。 您需要选择适当的目标微控制器和评估板。 在我们的例子中,选择STM32F746ZG。
5. 点击下一步后,将显示软件设置界面。 该设置已经由软件自动完成了。 但这些是我在下面使用的设置:
6. 下一步是调试设置。 这里需要选择ST-LINK调试器。 并完成项目设置。
7. 你现在将看到打开的工程和main.c文件。 默认代码将作为默认模板存在于main.c中。
8. 我们来编写代码实现LD2指示灯闪烁。
要打开/关闭任何GPIO,需要进行以下配置:
1. 使能外设时钟。
2. 将GPIO设置为输出。
3. 将GPIO设置为推挽模式。
4. 根据应用程序的要求决定是否需要复位设置。
关于ST32F746ZG的GPIO的更多内容请参考RM0385参考手册的第195页。
代码如下:
9. LED闪烁代码写完后。通过单击菜单中的重建按钮重建工程。
如果有错误,请再次检查代码。这里不应该有任何错误。您还可以单击控制台并查看构建过程。如果没有任何错误,请通过单击调试继续。
10. 点击调试。第一次你将会看到调试配置设置。查看所有调试配置是否正常。然后点击debug。
11. 点击击调试后,您应该在控制台上看到以下信息。这意味着STlink已成功连接。
否则如果没有检测到ST-LINK。你会得到这样的信息。
12. 调试视图的界面比较复杂。它有调试菜单,显示程序计数器的位置,您设置的内部寄存器,甚至显示您编写的代码的汇编语言。
在调试菜单中单击RUN将直接运行代码。否则,如果你想一步一步进行调试可以点击step into按钮或使用F5功能键。
有时你会在控制台中看到类似系统中断和代码不运行的信息。我试图重复这个错误,但它只出现了一次。我认为这应该是调试器还没有准备好。在这种情况下,重新启动调试器,它将正常工作。
13. 恭喜!
您终于掌握了ARM的基础知识。在您的主板上蓝色LED将会闪烁。如果断开连接,使用USB充电器给开发板供电,你的代码将会正常工作。 LED将会闪烁。
编程Nucleo-144 F746ZG开发板是很棒的事情。它成为所有开发板中我最喜欢的一个。 ARM Cortex M7是非常强大的处理器。 STM32F746ZG提供的功能足以创建您自己的视频游戏模拟器等应用。
我尝试这个微控制器的主要原因是因为它有专用的TFT驱动程序和相机驱动程序端口,这有助于高速处理。
非常感谢Atollic TrueSTUDIO这样一个了不起的工具。
非常感谢STMicroelectronics很棒的开发板。
祝一切顺利!!!