2017年12月20日星期三

基于STM32F769I-DISCO开发板实现Embedded Wizard界面应用入门指南




本文主要介绍了创建一个用于STM32F769探索板的Embedded Wizard界面应用的所有必要步骤。请仔细按照这些指示,一步步进行操作,以确保您可以在目标开发板上运行结果。此外,本文假设您熟悉Embedded Wizard的基本概念。

前提条件
首先,您需要以下硬件:
★    意法半导体的STM32F769探索板(STM32F769I-DISC1)
★    USB电缆,将开发板连接到PC
此外,您还需要安装以下软件开发包:
★     Embedded Wizard Studio免费版或专业版
★     Embedded Wizard STM32平台开发包
★     用于STM32F769探索板的Embedded Wizard构建环境

小提示
如果您想使用免费版本的Embedded Wizard Studio和STM32平台开发包,请在Embedded Wizard官网进行注册,然后选择目标STM32F769 Discovery。这样你就可以下载上述的软件包。



安装工具和软件
★    步骤1:安装最新版本的Embedded Wizard Studio。
★    步骤2:安装Embedded Wizard STM32平台开发包。
★    步骤3:下载并安装STM32 ST-LINK utility。测试从PC与探索板的连接以及USB驱动程序是否正确安装:通过USB将Discovery板连接到PC(确保使用的是ST-LINK USB接口),然后启动之前安装的STM32 ST-LINK utility。选择菜单项 Target ➤ Connect,并确认可以成功建立连接。最后,关闭STM32 ST-LINK utility。
★    步骤4:在本地文件系统(例如C:\ STM32)中创建一个通用的STM32项目目录(例如\ STM32)。请注意整个路径不包含空格字符。
★    步骤5:下载GCC ARM嵌入式工具链的最新版本(Windows ZIP),并将其解压缩到通用的STM32目录(例如C:\ STM32 \ gcc-arm-none-eabi)。
★    步骤6:下载最新版本的STM32CubeF7嵌入式软件,并将其解压到通用的STM32目录(例如C:\ STM32 \ STM32Cube_FW_F7)。
★    步骤7:将提供的用于STM32F769探索板的Embedded Wizard构建环境解压缩到通用STM32目录(例如C:\ STM32 \ STM32F769-Discovery)中。
★    步骤8:用文本编辑器打开devenv.cmd文件,您可以在Build Environment的子目录\ Build中找到它。在文件开始时,必须将以下环境变量设置为不同软件组件的安装路径:
        •    Toolchain_Path - 安装的GCC ARM嵌入式工具链的绝对路径(步骤5)。
        •    STM32Cube_Path - 安装的STM32CubeF7软件的绝对路径(步骤6)。重要说明:此路径不得包含任何空格字符。
        •    ST-LINK_Utility_Path - 安装的STM32 ST-LINK实用程序的绝对路径(步骤3)。

探索构建环境
提供的用于STM32F769探索板的Embedded Wizard构建环境包含了为STM32F769目标创建,编译,链接和刷新嵌入式向导UI应用程序所需的一切。解压后,你会发现以下子目录和文件:
•    \ Build - 该文件夹包含构建UI应用程序所需的东西:make实用程序和脚本文件StartBuildEnvironment.bat来启动Windows命令行来构建应用程序。不要忘记将安装的软件包的路径设置到文件devenv.cmd中。
•    \ Examples - 该文件夹包含一组演示应用程序。每个示例都存储在包含整个嵌入式向导UI项目的单独文件夹中。每个目都包含STM32F769目标所需的配置文件设置。提供以下样品:
      •    \ HelloWorld - 一个非常简单的项目,作为出发点,并验证整个工具链,您的安装和您的电路板是否正常工作。
      •    \ ColorFormats - 此项目演示每个UI应用程序可以生成不同的颜色格式:RGBA8888,RGB888,RGBA4444,RGB565,索引8和LumA44。
      •    \ ScreenOrientation - 此演示显示UI应用程序的方向与显示的物理方向无关。
      •    \ DeviceIntegration - 此示例显示设备与UI应用程序的集成,并解决典型问题:如何开始对目标执行特定操作?如何从设备获取数据?
      •    \ GraphicsAccelerator - 此应用程序演示了DMA2D硬件图形加速器的图形性能。基本的绘图操作是永久和连续执行的,而用户可以打开/关闭硬件加速器。
      •    \ BrickGame - 示例应用程序BrickGame实现了经典的“桨和球”游戏。在游戏中,在屏幕的上部布置了几排砖块。一个球穿过屏幕,从屏幕的顶部和侧壁弹起。当一个砖被击中,球反弹,砖被毁坏。球员有一个可移动的桨叶向上反弹球,保持在发挥。
      •    \ ChartsDemo - 这个应用程序演示了图表类LineChart,BarChart和PieChart的可能性和用法。每个图表的外观可以通过使用其相应的属性轻松配置。此外,此演示显示了使用大纲框来管理可滚动内容。
      •    ClimateCabinet - ClimateCabinet演示显示了气候暴露测试控制面板的实施情况。用户可以定义加热时间,标称温度和湿度,停留时间和最终冷却时间。
      •    \ PaperCutter - 本演示展示了切纸机的实现,用户可以定义纸张的分页和格式,以及切纸速度和纸张数量。该应用程序包含许多矩形效果和淡入/淡出效果,动态改变屏幕的布局。
      •    \WashingMachine - 这个演示显示了一个洗衣机的实施与几个奇特的可滚动列表小部件来选择洗涤程序和参数。这个示例应用程序的特点是中心列表项的放大效果和柔和的淡入/淡出效果。
      •    \ WaveformGenerator - 这个WaveformGenerator演示应用程序结合不同幅度和频率的波形。该实现显示类Charts :: Graph的用法来绘制坐标列表。
•    \ Misc - 此文件夹包含用于打印调试消息的一些帮助程序模块以及用于嵌入式向导UI应用程序的内存管理器。
•    \ PlatformPackage - 该文件夹包含必要的STM32平台包的源代码和/或库:针对不同颜色格式(RGBA8888,RGB888,RGBA4444,RGB565,Index8和LumA44)的几个图形引擎和运行环境(在子目录\ RTE)。
•    \ TargetSpecific - 该文件夹包含所有配置文件和平台特定的源代码。不同的ew_bsp_xxx文件实现了Embedded Wizard UI应用程序和底层电路板支持包(STM32硬件驱动程序)之间的桥梁,以便访问显示器,图形加速器,串行接口和时钟。
•    \ Template - 此文件夹包含随时可用的项目,用于编译和链接嵌入向导生成的UI应用程序。它们用于所有提供的示例,可用于构建自己的UI应用程序。
•    \ GeneratedCode - 此文件夹用于从嵌入式向导UI项目接收生成的代码。所有的模板项目都是从这个文件夹构建UI应用程序。您可以创建自己的UI项目,并将代码生成到子目录\ GeneratedCode中,而无需调整项目。
•    \ Project - 此文件夹包含为GCC(make),IAR Embedded Work准备的项目•\ Project - 此文件夹包含GCC(make),IAR Embedded Workbench和Keil MDK-ARM的准备项目。
•    \ Source - 此文件夹包含main.c文件,FreeRTOS的配置文件以及用于DeviceIntegration示例的设备驱动程序C / H文件。

创建UI示例程序
对于您的系统的第一次调用,我们推荐使用示例“HelloWorld”:
生成此示例应用程序的源代码需要执行以下步骤:
★    导航到\ Example \ HelloWorld目录。
★    使用您以前安装的Embedded Wizard Studio打开项目文件HelloWorld.ewp。整个项目都有内联的文档。您可以通过按Ctrl + F5在Prototyper中运行UI应用程序。
★    要启动代码生成器,请选择菜单项Build→构建该配置文件 - 或者直接按F8。 Embedded Wizard Studio现在生成示例项目的源文件到\ Template \ GeneratedCode目录中。

编译、链接和下载
使用GCC ARM嵌入式工具链构建和刷新嵌入式向导UI示例应用程序需要执行以下步骤:
★     导航到\ Build目录。
★     打开StartBuildEnvironment.bat - 作为结果,一个Windows命令行窗口应该打开。如果有错误信息,请编辑文件devenv.cmd,根据不同软件包的安装路径设置路径变量
★     现在开始编译、链接和下载:
  1. make
  2. make install
复制代码

如果一切按预期工作,应该建立应用程序并闪存到STM32F769目标。



所有其他示例可以用相同的方式创建:只需使用Embedded Wizard Studio打开所需的示例,生成代码并使用以下方法重建整个应用程序:
  1. make install
复制代码

创建您自己的UI应用程序
为了创建一个适用于STM32F769目标的自己的UI项目,可以新建一个项目并选择STM32F769探索板工程模板:
这样,您将得到一个新的Embedded Wizard项目,其中包含适用于STM32F769 Discovery演示板所需的Profile配置属性:

以下配置文件设置对您的目标非常重要:
★    属性PlatformPackage应该指向已安装的STM32平台包。
★    ScreenSize属性应该对应于STM32F769 Discovery开发板的显示尺寸。
★    如果资源应直接从闪存中获取,FormatOfBitmapResources和FormatOfStringConstants属性可以设置为DirectAccess。默认情况下,这些属性被设置为压缩。
★    OutputDirectory属性应该引用您的构建环境中的\ Template \ GeneratedCode目录。通过使用这个模板,为您的目标构建UI项目将非常简单。
★    应将CleanOutputDirectories属性设置为true,以确保输出目录\ Template \ GeneratedCode中未使用的源代码将被删除。
★    如果您正在使用IAR Embedded Workbench,则属性PostProcess应指向\ Template \ Project \ EWARM \ EWARM_ew_post_process.cmd,或者如果您正在使用Keil MDK-ARM,则属性PostProcess应指向 Template \ Project \ MDK-ARM \ MDK-ARM_ew_post_process.cmd

现在,您可以按照与提供的示例相同的方式使用模板项目来编译,链接和下载二进制文件。

生成代码后,请按照下列步骤,构建自己的UI应用程序:
     ★    启动批处理文件“StartBuildEnvironment.bat”。再次,一个Windows命令行窗口应该打开。
     ★    开始编译,链接和下载:
  1. make install
复制代码

大多数项目设置可以直接提取到生成的代码中,如颜色格式或屏幕方向。在Makefile中只能直接配置一些额外的设置,如使用QSPI闪存或使用FreeRTOS操作系统。

控制台输出
为了接收错误消息或显示简单的调试信息或从Embedded Wizard UI应用程序中跟踪消息,应该使用类似“Putty”或“TeraTerm”这样的串行终端。
     ★    一旦您通过USB将STM32F769目标连接到PC,STMicroelectronics的STLink虚拟串口(COMx)就会出现在您的系统设备列表中。打开设备管理器,查看安装的COM端口号。
     ★    现在您可以打开终端应用程序,并通过COMx使用以下设置进行连接:115200-8-N-1
此终端连接可用于Embedded Wizard UI应用程序中的所有跟踪语句或来自您的C代码的所有调试消息。

使用IAR Embedded Workbench
如果您想使用IAR Embedded Workbench,而不是GCC ARM嵌入式工具链,请按照以下说明操作:

子目录\ Template \ Project \ EWARM包含一个模板项目,通用于所有提供的Embedded Wizard示例。所有Embedded Wizard示例都将生成的代码保存在common / Template / GeneratedCode文件夹中。

Embedded Wizard示例的生成代码使用项目连接机制自动导入到IAR Embedded Workbench项目中。

要建立这个自动项目导入,必须将一个后处理添加到Embedded Wizard Studio中的Profile设置中:
     ★    打开所需的嵌入向导示例项目。
     ★    选择配置文件,并在检查器视图中将EWARM_ew_post_process.cmd设置为后处理。您将在子目录\ Template \ Project \ EWARM中找到该文件。

Embedded Wizard代码生成后,安装的后处理将生成一个ewfiles.ipcf文件,该文件控制对IAR Embedded Workbench项目的导入。
返回到IAR Embedded Workbench后,最新生成的代码和合适的Embedded Wizard平台包将被导入到IAR Embedded Workbench项目中(具体取决于Embedded Wizard配置文件中选择的颜色格式和屏幕方向)。

如果颜色格式或屏幕方向发生改变,请全部重新构建IAR Embedded Workbench项目。

使用Keil MDK-ARM
如果您想使用Keil MDK-ARM工具链,而不是GCC ARM嵌入式工具链,请按照以下说明操作:

子目录\ Template \ Project \ MDK-ARM包含一个模板项目,可以通用于所有提供的Embedded Wizard示例。所有Embedded Wizard都将生成的代码保存在common / Template / GeneratedCode文件夹中。

Embedded Wizard示例的生成代码自动导入到使用CMSIS PACK机制的Keil MDK-ARM项目中。

建立这个自动项目导入需要以下步骤:
    ★     双击安装Tara.Embedded_Wizard_Launcher.x.x.pack。您将在子目录\ Template \ Project \ MDK-ARM中找到该文件。
    ★     打开所需的Embedded Wizard示例项目。
    ★     选择配置文件并在检查器视图中将MDK-ARM_ew_post_process.cmd设置为后处理。您将在子目录\ Template \ Project \ MDK-ARM中找到该文件。

Embedded Wizard代码生成后,安装的后处理将生成一个ewfiles.gpdsc文件,该文件控制Keil MDK-ARM项目导入。
在Keil MDK-ARM中会出现一个对话框:“对于当前项目,新生成的代码可用于导入”。确认后,最新生成的代码和合适的Embedded Wizard平台包将被导入到Keil MDK-ARM项目中(具体取决于在Embedded Wizard配置文件中选择的颜色格式和屏幕方向)。

如果颜色格式或屏幕方向发生改变,请全部重新构建Keil MDK-ARM项目。

没有评论:

发表评论