2024年5月7日发(作者:)

STM32F429Discovery软件开发工具入门指南

翻译:山西大学电子信息工程系王晓峰,欢迎指正。

简介

本文档描述了STM32F429Discovery开发板建立应用开发所需的软件环境和推荐开发

工具。

本文档为入门开发人员提供了指导,在关于如何建立和运行示例应用以及创建并编译自

己的应用方面。

本文档结构如下:

第一章描述了在任何IDE上开始编程以前,如何找到ST-LINK/V2。

第二章描述如何使用以下工具,一步步执行和调试现存的工程。

IAREmbeddedWorkbench®forARM(EWARM)byIARSystems

MicrocontrollerDevelopmentKitforARM(MDK-ARM)byKeil™

TrueSTUDIO®byAtollic

第三章描述了高级调试方法

第四章为此前提到的工具链提供详细信息链接。

虽然这个手册无法覆盖所有关于软件开发环境的话题,但是它证明了开发的第一个基本

步骤:编译/调试和提供需要的文档来完全理解操作的每一步是很有必要的。

目录

1系统要求

1.1支持STM32系列的基础开发环境(IDE)

1.2ST-LINK/V2安装和开发

1.3固件包

执行/调试固件使用的软件工具链

2.1EWARM工具链

2.2MDK-ARM工具链

2.3TrueSTUDIO工具链

STM32F429高级调试

SW工具链有用的参考和链接

版本历史

2

3

4

5

1

系统要求

在开始运行你的应用前,你应该:

1、安装你的首选IDE

2、安装ST-LINKV2驱动

3、下载STM32F429I-Discovery固件

4、确认如下图连接STM32F429I-Discovery开发板

要运行和开发任何固件应用在你的STM32F429I-Discovery板上,最小系统要求为:

WindowsPC(2000,XP,Vista,7)

MiniUSB电缆

1.1

支持

STM32

系列的

IDE

ST微电子出品的STM32系列32位Cortex-M内核微控制器,围绕着传统的第三方IDE

的C语言环境,有完整的软件工具支持,配套ST微电子创新的工具。

1.2ST-LINKV2

安装和开发

STM32F429Discovery开发板包含ST-LINKV2内嵌调试工具接口,需专用USB驱动。

驱动可在的ST-LINKV2页面下获得。驱动支持常见的软件工具,如下:

1、IAR™EmbeddedWorkbenchforARM(EWARM)

工具被安装在本地磁盘预设路径下:C:ProgramFilesIARSystemsEmbedded

tory.

IAR安装完成后,通过运行ST-Link_V2_安装ST-LINK/V2驱动。

ST-Link_V2_文件在此路径下:

[IAR_install_directory]embeddedWorkbench

iversST-LinkST-Link_V2_

2、

RealViewMicrocontrollerDevelopmentKit(MDK-ARM)toolchain

工具安装在本地磁盘预设路径下:

C:Keildirectory;theinstallercreatesastartmenu

shortcutforμVision4.

当连接ST-LINK/V2后,PC自动侦测新硬件并询问安装ST-LINK_V2_USB驱动。在进

入找到新硬件向导后,你通过需要的步骤,在推荐位置找到并安装驱动。

3、ST-LINK_V2_USB

工具安装在默认目录下:C:ProgramFilesAtollicdirectory

ST-Link_V2_将随开发工具被自动安装。

固件包补充信息和STM32F429Discovery使用必要条件在STM32固件文档入门下可以获

得。

注:嵌入的ST-LINK/V2仅支持STM32设备的SWD接口。

1.3固件包

STM32F429I-Discovery固件应用、示例、IP样板在一个压缩文件包中提供。解压压缩包到

一个文件夹,STM32F429I-Discovery_FW_VX.Y.Z,文件夹下包含以下子文件夹。

空工程:预设工程内含空白主功能,可被用户定制。有助于用户基于外部驱动开始建立

自己的应用。

主工作区:集成了所有可用的工程和固件包。

外围开发例程:基于每个外围组件的一组例程,可直接运行。

2

使用开发软件执行

/

调试固件

2.1EWARM

按照步骤执行编译,链接和执行一个现存的EWARM工程。以下步骤可以使用在

STM32F429I-Discovery_FW_VX.Y.Z下现存的例子或空工程。

1、阅读固件的文件,其中包含了固件描述和硬件软件要求,然后打开

EWARM。

2、选择File>Open>Workspace,浏览选择任何一个例程,示例或空工程文件,然后单

击Open来启动工程。

3、选择Project>RebuildAll来编译你的工程,如果你的工程编译成功,将显示以下窗

口。

如果你需要改变工程设置(头文件和预处理规定),只需通过工程选项:

对于include路径:Project>Options…>C/C++compiler>

对于预处理规定:Project>Options…C/C++compiler>pre-processor>

4、选择Project>DownloadandDebug,或者,单击工具条中的Downloadand

Debug按键,来烧写Flash存储器并开始调试。

5、IAR调试器可以在C和汇编级上调试程序,设置断点,变量显示和观察代码执行中

的事件。

6、选择Debug>Go来全速运行你的程序,或点击工具条中的Go按键。

2.2MDK-ARMtoolchain

按照步骤执行编译,链接和执行一个现存的MDK-ARM工程。以下步骤可以使用在

STM32F429I-Discovery_FW_VX.Y.Z下现存的例子或空工程。

1、打开KeilMDK-ARM.

2、选择Browse,选择任何一个例程,示例或空工程文件,点击

Open启动。

3、选择Project>RebuildAlltargetfiles来编译你的工程,如果你的工程成功编译,将会

显示下面的窗口。

你可以改变你的工程设定

(Includeandpreprocessordefines),通过以下工程选项:

对于include路径:Project>OptionsforTarget>C/C++>IncludePaths

对于pre-processor设置:Project>OptionsforTarget>C/C++>Preprocessor

symbols>Define。

4、选择Debug>Start/StopDebugSession,或点击工具条中的Start/StopDebugSession

按钮,烧写Flash和开始调试。

5、MDK-ARM调试器可以在C和汇编级上调试程序,设置断点,变量显示和观察代码

执行中的事件。

6、选择Debug>Run来全速运行你的程序,或点击工具条中的Run按钮。

2.3TrueSTUDIO

请按照步骤执行编译,链接和执行一个现存的TrueSTUDIO工程。以下步骤可以使用在

STM32F429I-Discovery_FW_VX.Y.Z下现存的例子或空工程。

1、

开发

AtollicTrueSTUDIOforARM。程序启动并询问工作区路径。

2、浏览并选择一个

TrueSTUDIO任意一个例程,示例或空工程文件的工作区,然后点击

OK加载。

3、在已选择的工作区中加载存在的工程,选择File>Import,然后General>Existing

ProjectsintoWorkspace,最后点击Next。

4、点击选择根目录,然后浏览TrueSTUDIO工作区文件夹。

5、在Projects面板,选择工程并点击Finish。

6、在ProjectExplorer,选择工程,打开Project菜单,然后点击BuildProject

7、如果你的工程被成功编译,以下信息将会显示在控制台窗口。

要改变工程设定(Includedirectoriesandpreprocessordefines),只需通过

Project>Properties,在左边面板中选择C/C++Build>Settings。

对于Includedirectories:CCompiler>Directories>Includepath.

对于pre-processordefines:CCompiler>Symbols>Definedsymbols

8、要调试和运行应用,在ProjectExplorer中选择工程并按下F11来启动调试会话。

9、

AtollicTrueSTUDIO

调试器可以以在C和汇编级上调试程序,设置断点,变量显示

和观察代码执行中的事件。

10、选择Run>Resume来运行你的应用,或点击工具条的Resume按钮。

3STM32F429

高级调试

STM32系列使用Cortex-M4处理器提供众多中断,当中断被激活和频繁使用将很难做

出判断。

基于STM32系列的SerialWireViewer可以解决这个问题。事实上,SWV显示PC采样,

异常,数据读写,ITM(printf),CPU计数器和时间戳。这些信息来自于

ARMCoreSight™

试模块,其内嵌在STM32F429的CPU中。

SWV不会偷取任何CPU周期,并且无法被闯入(除了ITMDebugprintfViewer)。

在空白工程中,已经设置好SWV。详情如下:

1、导向printf到ITM模拟端口0。这允许调试信息更方便显示。方法如下:

EWARM:View>terminalIO

MDK-ARM:View>SerialWindowsDebug(printf)Viewer

TrueSTUDIO:View>SWVConsole

2、异常追踪

Entry:异常进入时.

Exit:异常退出或返回

Return:所有异常结束返回主循环。

EWARM:ST-LINK>Interruptlog

MDK-ARM:View>Trace>Exceptions

TrueSTUDIO:View>SWVExceptionTraceLog

3、Functionprofiler:显示应用中功能的定时信息

EWARM:ST-LINK>FunctionProfiler

MDK-ARM:View>AnalysisWindow>CodeCoverage

TrueSTUDIO:View>SWVStatisticalProfiling

4、DataTraceTimeline:显示数据图示

EWARM:ST-LINK>Timeline(Datalog)

MDK-ARM:View>AnalysisWindow>LogicAnalyzer

TrueSTUDIO:View>SWVDataTraceTimeline

4SW

工具参考和链接

关于本文档中的IDE描述,下表重组了有用的参考信息。

5

版本历史