1.1 labview arm

18
1 设计开发一个嵌入式系统或产品,通常分为软件和硬件两个部分。如何选择一款优秀 的嵌入式开发软件成为当前许多软件工程师不可回避的问题,市场上充斥着各种各样的 IDE,各有各的优缺点,但是对于一个刚刚从事、没有任何嵌入式软件开发经验的工程师来 说,从上手到熟练掌握成为他们的第一道门槛。 为此,很多年前 NI 公司就将其核心产品 LabVIEW Windows 平台应用发展到嵌入式 系统领域,在国外已经有很多工程师使用 LabVIEW 嵌入式工具包进行项目开发和产品研 发。由于 LabVIEW 进入国内的时间相对比较晚,再加上软件本身的汉化等因素,导致使 LabVIEW 在嵌入式开发领域知名度不高。本书的目的之一就是帮助大家学习如何应用 LabVIEW 从事嵌入式系统开发,提高大家的工作效率,使更多的工程师能够加入图形化系 统设计的阵营中。 本章首先向大家介绍一下 NI 公司针对 ARM 处理器的嵌入式软件产品 LabVIEW Embedded Module for ARM Microcontrollers,之后介绍一下 Keil 公 司(现 已 被 ARM 司 收 购) 的 RealView MDK IDERVMDK )软件与 RTX 实时操作系统。结合 LabVIEWRVMDK 以及 RTX 这三者的优势,你会发现 NI 的这套软件架构具有非常高的开发与运行 效率。本章还会介绍如何安装这些软件,以及安装过程中需要注意的地方。 1.1 LabVIEW ARM 嵌入式模块介绍 LabVIEW Embedded Module for ARM Microcontrollers NI LabVIEW 嵌入式开发工具 包之一,可为全球最热门的嵌入式 32 位精简指令集运算(RISC )微控制器(ARM 处理器) 提供图形化编程。其完整的开发环境适用于 ARM7ARM9 Cortex-M3 微控制器。 该模块由 NI ARM 公司联合开发,集成了 Keil RealView MDK 微控制器 IDE LabVIEW 嵌入式技术开发工具包,能够向用户提供无缝即时的嵌入式编程体验。该模块还 包含了快速创建应用程序所需的所有工具,可帮助用户快速完成从概念到投入生产的全套 设计流程。具体功能如下: 集成调试

Upload: others

Post on 20-Apr-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1.1 LabVIEW ARM

第 1 章

软 件 篇

设计开发一个嵌入式系统或产品,通常分为软件和硬件两个部分。如何选择一款优秀

的嵌入式开发软件成为当前许多软件工程师不可回避的问题,市场上充斥着各种各样的

IDE,各有各的优缺点,但是对于一个刚刚从事、没有任何嵌入式软件开发经验的工程师来

说,从上手到熟练掌握成为他们的第一道门槛。

为此,很多年前 NI 公司就将其核心产品 LabVIEW 由 Windows 平台应用发展到嵌入式

系统领域,在国外已经有很多工程师使用 LabVIEW 嵌入式工具包进行项目开发和产品研

发。由于 LabVIEW 进入国内的时间相对比较晚,再加上软件本身的汉化等因素,导致使

用 LabVIEW 在嵌入式开发领域知名度不高。本书的目的之一就是帮助大家学习如何应用

LabVIEW 从事嵌入式系统开发,提高大家的工作效率,使更多的工程师能够加入图形化系

统设计的阵营中。

本章首先向大家介绍一下 NI 公司针对 ARM 处理器的嵌入式软件产品 LabVIEW Embedded Module for ARM Microcontrollers,之后介绍一下 Keil 公司(现已被 ARM 公

司收购)的 RealView MDK IDE(RVMDK)软件与 RTX 实时操作系统。结合 LabVIEW、

RVMDK 以及 RTX 这三者的优势,你会发现 NI 的这套软件架构具有非常高的开发与运行

效率。本章还会介绍如何安装这些软件,以及安装过程中需要注意的地方。

1.1 LabVIEW ARM 嵌入式模块介绍

LabVIEW Embedded Module for ARM Microcontrollers 是 NI LabVIEW 嵌入式开发工具

包之一,可为全球最热门的嵌入式 32 位精简指令集运算(RISC)微控制器(ARM 处理器)

提供图形化编程。其完整的开发环境适用于 ARM7、ARM9 和 Cortex-M3 微控制器。

该模块由 NI 和 ARM 公司联合开发,集成了 Keil RealView MDK 微控制器 IDE 和

LabVIEW 嵌入式技术开发工具包,能够向用户提供无缝即时的嵌入式编程体验。该模块还

包含了快速创建应用程序所需的所有工具,可帮助用户快速完成从概念到投入生产的全套

设计流程。具体功能如下:

集成调试

Page 2: 1.1 LabVIEW ARM

2 STM32 开发实战:LabVIEW 卷

桌面仿真

通信驱动程序

用于各种微控制器的 I/O 驱动程序

这些功能的实现来自于 NI 强大、可靠的

LabVIEW C 代码生成技术,用户能够利用内

嵌的 C 代码生成器创建符合产品质量要求的

嵌入式应用程序。 下面来看看完整的 LabVIEW 嵌入式开

发环境中都有哪些可用的编程资源,如图 1-1所示。

从图 1-1 可以看出,编程元素与传统的

LabVIEW 完全一样,因此,只要用户会基本

的 LabVIEW 编程就可以进行 LabVIEW 嵌入

式开发,而且在软件编程结构方面更加简单,

只要掌握定时循环结构的用法就可以编写出

一个支持 GUI 的实时应用程序,程序架构如

图 1-2 所示。

初始化应用

图形用户接口

数据通信

服务接口

模拟和数字

数据采集和数学处理

图 1-2 LabVIEW ARM 嵌入式程序架构

在可用的编程资源里面还有一个强大的“波形”选项卡,这里面板包含的波形函数非

其他编程工具所能比拟,如图 1-3 所示。主要有“数字波形 VI”“模拟波形 VI”“波形产生

VI”和“波形测量 VI”4 类,这些函数可以运行于 ARM 处理器上。

编程结构 数组操作

簇、类、变体 数据操作

布尔变量运算 字符串操作

比较运算 定时器与时间戳

文件 I/O 波形处理

应用程序控制 同步编程

图 1-1 LabVIEW ARM 嵌入式开发环境编程资源

Page 3: 1.1 LabVIEW ARM

第 1 章 软 件 篇 3

图 1-3 LabVIEW ARM 环境中的波形处理 VI

当然,除了上述 VI 之外,还有更强大的信号处理、数学分析 VI 可以使用,如图 1-4所示。对于那些从事信号处理的嵌入式工程师来说,这无疑是站在 LabVIEW 这个巨人的肩

膀上编程。

图 1-4 LabVIEW ARM 中的信号处理与数学分析 VI

除了上述这些纯软件的 VI 以外,还有重要的硬件接口通信 VI,如图 1-5 所示。这些

VI 可以帮助用户开发仪器控制方面的应用。

除了传统的编程元素以外,选板中多出了 ARM、STM32 子选 板。这两项与具体的实

验平台硬件相关。其中 ARM 选板是 NI 公司为 ARM7、ARM9、ARM Cortex-M3 三种平

台设计的通用 VI ;STM32 选板是作者专门为意法半导体公司的 STM32F103 平台开发的硬

Page 4: 1.1 LabVIEW ARM

4 STM32 开发实战:LabVIEW 卷

件驱动 VI。用户只需要购买相应的核心板,自己设计底板,就可以完全兼容这些驱动 VI。ARM、STM32 子选板展开后内容如图 1-6 所示。

图 1-5 LabVIEW ARM 中的通信 VI

NI 官方工具包自带 自定义开发:STM32

图 1-6 ARM、STM32 函数选板

其中,自定义开发的 STM32 通用硬件驱动 VI 多达 300 个,完全可以满足不同用户的

应用需求。

1.2 Keil RealView MDK 软件介绍

RealView MDK 简称 RVMDK,是德国的 Keil 公司专门为嵌入式系统设计开发的一款

Page 5: 1.1 LabVIEW ARM

第 1 章 软 件 篇 5

IDE,由经典的 Keil uVision 集成开发环境与 RealView 编译器两部分构成,如图 1-7 所示。

图 1-7 RVMDK 软件操作界面

其中,Keil μVision4 开发环境大家再熟悉不过了,除了其操作界面简单、性能稳定、

易于上手等特点之外,其更突出的特点如下:

自动配置启动代码

强大的 Simulation 设备仿真

集成 Flash 烧写模块

灵活的性能分析

另外,支持 ARM7、ARM9、Cortex-M0 和 Cortex-M3 处理器内核的编译器 RealView,

相比之前 ARM 公司自己开发的 ADS 编译器性能更加优越。

代码密度更高:比 ADS 编译的代码量小了 10% 左右。

代码性能更好:比 ADS 编译的代码运行速度提高了 20% 左右。

正是因为 RVMDK 软件具有以上这些优异的性能,才使得 NI 公司与 ARM 公司共同合

作开发出了 LabVIEW Embedded Module for ARM 嵌入式工具包,为用户提供图形化编程和

高效编译器带来的双重体验。

1.3 Keil RTX 实时操作系统介绍

Keil RTX 是免版税的确定性实时操作系统(RTOS),适用于 ARM 和 Cortex-M 设备。

使用该系统可以同时创建多个功能的并行线程,有助于创建结构更好且维护更加容易的应

用程序。

Page 6: 1.1 LabVIEW ARM

6 STM32 开发实战:LabVIEW 卷

Keil RTX 是一种高级实时系统,相对于其他厂商的 RTOS,RTX 系统提供了许多高级

功能以及具备一些无可替代的特点,其中重要的几项如下:

RTX 包 含 在 RVMDK-ARM 中。 全 功 能、 商 业 级 的 RTX(包 括 源 代 码) 作 为

Keil RVMDK 开发工具的一部分,可完全配置,没有任何限制。并且,用户使用 RVMDK 进行带实时系统的嵌入式开发时,RTX 是完全免费的。

RTX 免版税。获得了使用许可后,用户可以免费使用 RTX 开发嵌入式产品,无需支

付其他费用。

市场领先的 RTOS。RTX 一直是嵌入式应用程序中使用最多的 RTOS 之一(根据 2010年 TechInsights 嵌入式市场调查报告),用户可以完全放心地在应用程序中使用 RTX。

灵活的调度。RTX 提供 3 种不同的内核调度选项,用户可以使用最适合自己应用程

序的选项:

抢占。每个任务都具有不同的优先级,只有在更高优先级的任务运行结束后才会

执行低优先级的任务。此选项常用于交互式系统,在用户输入某些内容之前,设

备可能处于待机或后台等待模式。

循环。每个任务都将运行固定的 CPU 运行时时段(时间片)。数据记录器或系统

显示器通常使用循环调度,所有传感器或数据源都会依次进行采样,不分优先级。

协作。每个任务将一直运行,直到通知其将控制权传递给另一个任务,或完成 OS调用后终止。可以在要求固定执行顺序的应用程序中查看协作多任务。

确定性的行为。并非每个厂商的 RTOS 都具有确定性。Keil RTX 能提供完全确定性

的行为,这意味着在预定义时间(期限)内处理事件和中断。这样用户的应用程序就

可以依赖于一致且已知的进程计时。

专为嵌入式系统而设计。RTX 是专门为基于 ARM 和 Cortex-M 系列的 MCU 嵌入式

系统而编写的,并非根据较大的操作系统或其他体系结构改写的。因此,它运行速

度快,占用的 MCU 资源极少,内存占用量仅为 5KB(ROM),如图 1-8 所示。

易于使用。学习周期短,产品开发速度快。uVision IDE/ 调试器完全支持 RTX,内

部集成 RTX 任务识别工具,可以

便于在应用程序中快速方便地配

置和调试 RTX。

源代码。在所有 RVMDK-ARM 版

本中都包含 RTX 源代码。这对于

需要对源代码进行产品认证的用

户会很有用。

支持。提供了广泛的资源,包括示

例、用户指南以及打印的快速入门

指南。Keil 公司完全支持 RTX。

内存要求

任务规格 性  能

代码大小 < 4.0 KBytes

内核的 RAM 空间 < 300 Bytes+128Bytes User Stack

任务的 RAM 空间 TaskStackSize+52 字节

邮箱的 RAM 空间 MaxMessages*4+16 字节

信号的 RAM 空间 8 字节

互斥函数的 RAM 空间 12 字节

用户计时器的 RAM 空间 8 字节

硬件要求 SysTick 计时器

图 1-8 RTX 内存最低要求

Page 7: 1.1 LabVIEW ARM

第 1 章 软 件 篇 7

1.4 LabVIEW ARM Module 软件架构

介绍完以上 3 个软件之后,可以发现 NI 的 LabVIEW ARM 嵌入式开发架构其实是这样

的,如图 1-9 所示。

从上图可以看出以下几点信息:

顶 层 是 用 户 开 发 的 应 用 程 序, 当

然,这里的应用程序是采用图形化的

LabVIEW 进行编写的,也是最简单的

部分。

第二层是利用 LabVIEW 的 C 代码生

成技术将顶层的应用程序 VI 转换为

Keil uVision 可以进行编译的纯 C 语

言代码。想要研究 LabVIEW 转换为 C代码的详细过程,可以参考 LabVIEW C Generator 工具包的 Specification。

第三层是 ARM 芯片的固件驱动程序

和专为 ARM 内核设计优化过的硬件驱动 VI,这些程序直接决定了选用的 ARM 芯

片的可利用度,同时也是上层 LabVIEW 用户程序与底层硬件驱动之间的纽带。

最底层就是刚刚介绍过的 RTX 实时操作系统,熟悉 LabVIEW 开发的工程师应该知

道,LabVIEW 是天然的多线程编程语言(多个并行的 while 循环)。因此,为了充分

利用 LabVIEW 的优势,底层需要一

个能支持多线程运行的实时系统。

上面的描述比较抽象,下面通过一个具体

的项目开发流程来看看 LabVIEW 是如何开发

ARM 芯片的。图 1-10 所示是将一个 LabVIEW编写的顶层 VI 烧写到 ARM 芯片中的几个步骤:

My_VI.viC Code GenerationKeil uVisionMy_VI.exeDownload JTAG/Jlink USBARM Chip。

当 程 序 下 载 到 ARM 芯 片 中 后, 通 常

需要进行在线调试,也就是花费时间最多

的 Debug。LabVIEW ARM 工具包默认支持的是 JTAG 下载调试,但是同样支持目前主流

的 SWD 通信协议,下载器可以选择最常见的 J-LINK/ULINK/ST-Link。本书配套的学习板

选择的下载方式是高性能 SWD 方式(J-LINK)。除此之外,LabVIEW ARM 工具包还支持

TCP 和串口下载调试,如图 1-11 所示。

用户程序

转换后生成的 C 代码

RTX 实时操作系统

组件驱动 针对 ARM 优化后的 VI

图 1-9 LabVIEW ARM 嵌入式软件架构

工作原理

Run

C Code Generation

Keil uVision

Download JTAG USB

My VI.vi

My_VI.c

My_VI.exe

图 1-10 LabVIEW ARM 芯片开发流程

Page 8: 1.1 LabVIEW ARM

8 STM32 开发实战:LabVIEW 卷

Real-time Debugging

Run

Debugging via TCP, Serial, JTAG

图 1-11 LabVIEW ARM 中灵活多样的下载调试方式

1.5  LabVIEW ARM Module、RealView MDK、实验平台驱动软件安装

前面介绍了 LabVIEW Embedded Module for ARM Microcontrollers、RealView MDK、

RTX 实时系统。当然,除了这些软件外,还需要安装本书配套的 STM32 实验平台开发板的

驱动软件(U 盘中或云盘中),才能充分开发利用好该实验平台。

下面具体介绍如何来安装配置一个完整的 LabVIEW ARM 嵌入式开发环境(2011_SP1和 2012_SP1 中文版和英文版均支持)。

提醒 1)差异化。2011 版与 2012 版最大的区别在于 LabVIEW 启动界面和项目组织管理

架构不一样!

2)软件大小。2011 版要远小于 2012 版。

3)稳定性。2011 版要好于 2012 版。

4)新特性。虽然 2012 版相对 2011 版而言,在 Windows 平台上增加了一些新特性,但

是对于 ARM 嵌入式开发环境来说,二者完全一样。

5)语言版本。ARM 工具包中默认自带一个小巧的英文版 LabVIEW 运行引擎,所以即

使用户的计算机上从来没有安装过 LabVIEW,也能直接安装 LabVIEW Embedded for ARM工具包,快速建立起 ARM 开发环境。如果用户不习惯英文环境下的 LabVIEW,可以安装

中文版。以上两个版本的安装源程序可以在本书配套的百度云盘和 U 盘中找到。

6)安装视频。建议用户参考百度云盘或者 U 盘里的视频教程(第 3 课:软件安装),里

面有详细的安装步骤与介绍。

Page 9: 1.1 LabVIEW ARM

第 1 章 软 件 篇 9

结论  建议安装 2011 英文版,安装速度快,更接近美国本土化版本。考虑到本地用户,

后面的安装步骤会以 LabVIEW 中文版进行介绍。

当然,如果用户的计算机上已经安装过 LabVIEW 2011(或 2012),那么只要对应

安装相同版本的英文版软件即可。

步骤如下:

(1)准备好必需的软件源程序

通过从百度云盘(链接见附录)或 U 盘获取 LabVIEW ARM 一键安装的源程序。下面

以安装 LabVIEW ARM 2011 中文版开发环境为例进行演示,当然,2012 版本的安装过程与

2011 完全相同。

双击打开云盘目录下的“2、My_ARM_ 开发软件 _2011”文件夹,该文件夹下包含了

5 个子文件夹、2 个批处理安装文件(中文版和英文版)和 2 个安装说明文档,如图 1-12 所

示。安装之前,阅读“云盘文件安装说明 .txt”文档中的全部内容。

图 1-12 云盘中的 LabVIEW ARM 安装源程序

文件夹中的安装软件说明如下。

1)LabVIEW_2011_SP1 文件夹:LabVIEW 2011 SP1 中文版开发环境。

2)Embedded_for_ARM_2011 文件夹:LabVIEW ARM 2011 嵌入式开发工具包。

3)C_generater_2011 文件夹:LabVIEW C 代码生成器工具包。

4)VI_Package_Manager_14.2 文件夹:最新版本的 VIPM 插件管理软件。

5)My_LabVIEW_Installer_ 中文版 _2011.bat 脚本文件:一键安装、免弹窗、批量

Setup.exe 安装程序,负责在后台安装前 4 项 LabVIEW 源程序。

6)sdmc_lib_my_arm_serial_board_driver-1.0.0.20.vip :神电测控(ShenDian Measurement & Control,SDMC)开发的 ARM Cortex-M3(STM32)完整性驱动安装包,通过 VI Package Manager 进行安装(建议安装最新的 .vip 插件,位于 U 盘或者百度云盘上的“10、My_ARM驱动版本更新”文件夹中,如图 1-13 所示。)

Page 10: 1.1 LabVIEW ARM

10 STM32 开发实战:LabVIEW 卷

图 1-13 云盘中的 LabVIEW STM32 驱动安装包

(2)安装之前的计算机环境配置

1)如果用户开发主机上安装的操作系统版本是 Windows XP,可以直接跳到步骤(3);

如果是 Windows 7 或以上版本,需要先关闭用户账户控制,才能实现一键免弹窗安装。具

体关闭方式如图 1-14 所示。打开控制面板更改用户帐户控制设置将通知消息设置为

“从不通知”。

图 1-14 关闭 Windows 7 系统中的用户账户控制权限

2)如果用户计算机上安装的操作系统显示语言非中文,需要将“非 Unicode 程序中所

Page 11: 1.1 LabVIEW ARM

第 1 章 软 件 篇 11

使用的当前语言”选项修改为“中文(简体,中国)”,如图 1-15 所示。然后重启计算机才能

生效。如果用户不执行此操作,那

么在安装过程中,中文会显示为乱

码,并且无法识别很多中文路径。

(3)安装基本开发环境

如果用户计算机上已经安装

过 NI 公 司 的 LabVIEW 2011 SP1、E m b e d d e d f o r A R M、C C o d e Generator 这 3 个软件,可以跳过

本步骤,直接进入下一步,安装

STM32 驱动。否则按照下面两种方

式进行安装。

1)方法一:一键安装(推荐)。

双击打开“2、My_ARM_ 开发软件

_2011”文件夹中的“ My_LabVIEW_Installer_ 中文版 _2011-New.bat”安装文件,如图 1-16 所

示。此时,会弹出一个 CMD 命令提示框,表明正在安装 LabVIEW 软件,如图 1-17 所示。

注意 如果用户双击 .bat 文件,cmd 窗口一闪而过,说明当前文件所处的路径字符长度超

过了 255,此时 Windows 系统无法找到指定文件而产生错误,所以直接退出了!用户可以

将整个“2、My_ARM_ 开发软件 _2011”文件夹复制到 C 盘目录下再进行安装。

图 1-16 通过脚本文件安装 LabVIEW 软件

图 1-17 正在安装 LabVIEW 软件的命令窗口

图 1-15 将程序语言设置为中文简体

Page 12: 1.1 LabVIEW ARM

12 STM32 开发实战:LabVIEW 卷

LabVIEW 默认会以试用版的状态被安装到 C 盘(建议安装在此盘符)根目录下。安装

结束后,cmd 命令窗口会自动退出,再手动重启计算机,即可完成 LabVIEW Embedded for ARM 2011 基础开发环境的安装。用户可以通过 NI 许可证管理器来查看 LabVIEW 及其工

具包是否全部安装成功,如图 1-18 所示。

图 1-18 安装成功后的 LabVIEW ARM 基础开发环境

如果安装过程中,系统弹出 RealView MDK 4.11 软件的独立安装界面,如图 1-19 所

示。用户需要将安装目录指定到 C 盘根

目录下:C:\Keil。默认情况下,Keil 会自动安装到 C 盘,用户无需指定。

当 RVMDK 安装完毕后,桌面上会

出现 Keil uVision4 快捷方式 。该软

件在没有授权许可证的情况下,编译生

成的代码量会有 4KB 大小的限制。而我

们日常开发的嵌入式程序,往往都会比

较大,很容易超出这个范围。因此,建

议用户购买正版许可证。

2)方式二:单独安装(可选)。用户也可以通过双击 LabVIEW 2011 及其工具包文件夹

目录下的 setup.exe 文件进行单独安装。单击“下一步”按钮,提示输入产品序列号,若没

有激活序列号,可以留空(试用版为期 30 天),如图 1-20 所示。

单击“下一步”按钮,选择安装目录。官方建议,务必安装在 C 盘,如图 1-21 所示。

单击“下一步”按钮,取消不需要安装的组件与附件,特别是 NI 公司的任何硬件驱动。

对于 ARM 硬件驱动程序,在后面单独进行安装,如图 1-22 所示。

图 1-19 自动安装 RealView MDK 软件

Page 13: 1.1 LabVIEW ARM

第 1 章 软 件 篇 13

图 1-20 输入产品序列号 图 1-21 选择安装目录

接下来,一直单击“下一步”按钮,直到安装完成,重启计算机即可。

(4)安装 ARM 嵌入式开发环境所需的驱动程序

双击打开“10、My_ARM 驱动版本更新”文件夹下的 VI Package 第三方驱动包 sdmc_lib_my_arm_serial_board_driver-1.0.0.20.vip。

如果用户曾经安装过 JKI 公司开发的 VI Package Manager 软件,则可以在开始菜单中

找到,如图 1-23 所示。如果没有安装,当用户双击 .vip 文件时,系统会提示用户是否从网

上下载 VIPM,选择 Yes 就可以完成 VIPM 软件的自动安装。

图 1-22 取消不需要安装的组件和附件 图 1-23 安装完成后的 VI Package Manager

为了提高用户体验(VIPM 网络下载较慢),我们特地将最新版的 VIPM_14.2 安装

程序源文件放在本书配套的云盘中,路径为 \My_ARM 开发资料 \2.My_ARM 开发软件

_2011\VI Rackage Manager 14.2,默认情况下会自动安装。

VIPM 软件安装完成后,系统会自动进入 My_ARM 驱动文件的安装,如图 1-24 所示。

Page 14: 1.1 LabVIEW ARM

14 STM32 开发实战:LabVIEW 卷

在安装首页中,可以看到 My_ARM(STM32)驱动名称、产品链接、版本号、作者、版权、

许可证、LabVIEW 兼容版本号、操作系统版本号、依赖组件版本号等相关信息。

单击左侧的 Install 按钮,安装过程中会进入 License Agreements 页面,在仔细阅读完

软件许可证之后,单击下方的同意按钮,继续安装直到完毕,如图 1-25 所示。

安装过程大约持续 2 分钟左右(视计算机性能而定),如图 1-26 所示。安装结束后单击

Finish 按钮即可。

图 1-24 My_ARM 驱动文件安装页面 图 1-25 安装许可证页面

图 1-26 驱动文件安装完毕

注意 安装完毕后,要重启计算机,目的是开启 NI 的一些系统服务。

1.6 STM32 实验范例程序查找与 USB JLink-OB 驱动加载

1. STM32 范例程序

用户可以单击图 1-26 显示的左侧下方的 Show Examples 按钮,调出刚刚安装好的 My_

Page 15: 1.1 LabVIEW ARM

第 1 章 软 件 篇 15

ARM(STM32)学习板实验范例程序,如图 1-27 所示。

图 1-27 My_ARM(STM32)实验范例程序

当然,除了上面这种方式可以找出 My_ARM 范例程序外,还可以通过以下 3 种方法找

到 My_ARM 所在 NI 范例查找器中的具体位置。

(1)浏览方式:任务

打开 NI 范例查找器后,默认情况下,是以“任务”为目标进行分类的,如图 1-28 所

示。My_ARM 学习板配套的实验例程所在的树形结构是:工具包和模块ARMKeil高级My_ARM_Starter_Board.lvproj。

图 1-28 NI 范例查找器——通过“任务”层次查看

Page 16: 1.1 LabVIEW ARM

16 STM32 开发实战:LabVIEW 卷

(2)浏览方式:目录结构

如果用户觉得搜索任务太长,还可以直接选择浏览方式中的“目录结构”,然后定位到

最下面的 My_ARM_Starter_Board.lvproj 一栏,即可找到所有的实验范例程序,如图 1-29所示。

图 1-29 NI 范例查找器——通过“目录结构”查看

(3)搜索关键词

当然,用户还可以通过搜索关键词“ STM32”“ My_ARM”找到 My_ARM 学习板配套

的范例程序,如图 1-30 所示。

图 1-30 NI 范例查找器—搜索关键词

Page 17: 1.1 LabVIEW ARM

第 1 章 软 件 篇 17

2. 板载 USB JLink-OB 驱动加载

为了检验板载下载器上的 J-Link 驱动是否随着 LabVIEW 一起安装成功了,用户可以

通过一根 USB 线缆将 My_ARM 学习板连接到该主机上,多数情况下,计算机会提示 USB J-Link 驱动安装失败(黄色叹号 ),如图 1-31 所示。

图 1-31 J-Link 驱动安装失败

之所以无法正常加载 J-Link 下载器的驱动,是因为在 Windows 7 或者 Windows 8 系统

中,计算机无法通过签名认证。因此,用户需要按照下面的步骤,执行一次手动加载。

1)打开更新程序对话框。

在设备管理器中未识别的设备名

称上右击,选择“更新驱动程序

软件 (P)...”,如图 1-32 所示。某

些用户的设备管理器中,可能没

有“更新驱动程序软件”这个

选项,此时用户可以将 C:\Keil\ARM\Segger\USBDriver\x64 or x86 目 录 下 的 JLinkx64.sys 文

件手动复制到 Windows 系统的

C:\Windows\System32\drivers 目

录中,然后重启一下设备管理和

My_ARM 学习板,再扫描一下硬

件驱动即可。

2)手动查找浏览计算机上的驱动文件。在弹出的搜索页面中,单击第二行的“手动查

找并安装驱动程序软件”选项,如图 1-33 所示。

图 1-32 更新 USB J-Link 驱动程序

Page 18: 1.1 LabVIEW ARM

18 STM32 开发实战:LabVIEW 卷

3)浏览 Segger 文件夹下的 JLink-OB 驱动文件。单击路径对话框右侧的“浏览 (R)...”按钮,重新定位到 C 盘根目录下的 Keil 文件夹。

对于 32 位系统来说,路径如下:C:\Keil\ARM\Segger\USBDriver\x86。对于 64 位系统来说,路径如下:C:\Keil\ARM\Segger\USBDriver\x64。更新驱动,如图 1-34 所示。

图 1-33 手动查找 USB JLink 驱动文件 图 1-34 重新定位到 USB J-Link 驱动文件

4)J-Link 驱动成功加载。单击“下一步”按钮,即可重新加载 J-Link 下载器驱动,如

图 1-35 所示。

5)如果客户的计算机上先前安装过或者后期更新到更高版本的 Keil 软件,那么其中的

Segger 文件夹下的 J-Link 驱动版本可能会高于 LabVIEW Embedded for ARM 工具包中自带

的版本(V4.11)。此时用户在下载程序时,LabVIEW 会提示找不到 JLink 下载器。最简单

的解决方法是:用旧版本的 JLink 驱动覆盖新版本即可。此步可选。旧版本的 Segger JLink驱动文件位于配套云盘的“12、配套版本的 JLink 驱动文件 Segger”文件夹中,如图 1-36所示。

图 1-35 加载成功后的 J-Link 驱动设备 图 1-36 旧版本 JLink 下载器驱动文件

关于 JLink 下载器无法被高版本的 Keil 识别和下载的原因与分析,感兴趣的用户可以

参考这个帖子:http://blog.csdn.net/zhzht19861011/article/details/7741928。