第4章 搭建嵌入式开发平台
学习嵌入式开发的首要步骤,便是搭建一个嵌入式开发平台。这个平台包括软件开发平台和硬件平台,其中软件平台用于开发程序,而硬件平台用来运行并验证设计。本章将带领读者从头搭建一个完整的基于ARM Cortex-M3的嵌入式开发平台。通过本章的学习,读者应该实现如下几个目标。
· 了解和掌握基于ARM的RealView MDK开发环境。
· 了解基于ARM Cortex-M3的STM32芯片系列。
· 掌握基于ARM Cortex-M3的STM32最小开发系统。
· 掌握STM32的程序下载方式。
4.1 基于ARM的RealView MDK开发环境
ARM公司提供了全新的ARM开发平台——RealView系列,不仅可以用于ARM7、ARM9等的开发,还支持最新的ARM Cortex-M3的开发。而在中国,ARM公司和深圳英倍特公司合作开了本土化的ARM RealView MDK开发平台。ARM RealView MDK为中国的ARM设计者提供了简单友好的使用环境和极高的性价比,得到了广泛的应用。
4.1.1 RealView MDK简介
在中国的单片机开发者中,Keil Software公司推出的Keil μVision系列软件是最为经典的单片机软件集成开发环境。ARM公司收购了Keil公司后,在最大程度保持μVision软件的风格基础上推出了ARM RealView MDK平台。ARM RealView MDK开发平台具有如下主要特点:
· 采用Keil μVision3的开发环境和界面,给单片机用户的升级带来极大的方便。
· 具有Windows风格的可视化操作界面,界面友好,使用极为方便。
· 支持汇编语言、C51语言及混合编程等多种方式的单片机设计。
· 集成了非常全面的ARM处理器支持,能够完成ARM7、ARM9及ARM Cortex-M3等处理器的程序设计和仿真。
· 集成了丰富的库函数,以及完善的编译连接工具。
· 提供了并口、串口、A/D、D/A、定时器/计数器及中断等资源的硬件仿真能力,能够帮助用户模拟实际硬件的执行效果。
· 可以与多款外部仿真器联合使用,提供了强大的在线仿真调试能力。
· 内嵌RTX-51 Tiny和RTX-51 FULL内核,提供了简单而强大的实时多任务操作系统支持。
· 在一个开发界面中支持多个项目的程序设计。
· 支持多级代码优化,最大限度地帮助用户精简代码体积。
· 由于Keil μVision具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可以轻松地找到各类编程资源以加速学习和开发过程。
4.1.2 RealView MDK系统安装需求
一般来说,程序员进行软件开发对计算机系统的配置要求比较高。但是,RealView MDK集成开发环境的另一个最大特色,便是对计算机的硬件和软件配置的要求很低。其主要要求如下:
· 最小内存128MB。
· 硬盘空间剩余至少50MB。
· Windows98或者后续的操作系统。
一般来说,现在计算机的系统配置都远远超过这个基本要求,因此都完全可以胜任。我们可以不用考虑计算机硬件配置问题,在任意计算机上直接进行安装即可。
4.1.3 RealView MDK的安装
了解了RealView MDK的一些基本概况后,下面便开始在计算机上搭建单片机的集成开发环境。操作步骤如下:
① 首先准备RealView MDK安装源文件,双击Setup安装文件,弹出Keil μVision3安装的欢迎界面,如图4-1所示。从该界面,可以看到RealView MDK依然采用了Keil μVision3的开发环境,只不过提供了完善的ARM支持。
图4-1 Keil μVision3欢迎界面
② 单击“Next”按钮,弹出“License Agreement”对话框,如图4-2所示。这里显示了一些用户安装的协议和许可的要求,选择“I agree to all the terms of the preceding License Agreement”即可,否则无法进入下一步。
图4-2 “License Agreement”对话框
③ 单击“Next”按钮,弹出“Folder Selection”对话框,如图4-3所示。系统默认安装在“C:\Keil”文件夹下。在这里,单击“Browse”按钮,可以选择安装的目录。
图4-3 “Folder Selection”对话框
④ 单击“Next”按钮,弹出“Customer Information”对话框,如图4-4所示。此时,用户需要输入用户名、公司名称和E-mail,缺一不可。
图4-4 用户信息输入
⑤ 单击“Next”按钮,下面便开始自动安装,如图4-5所示。
图4-5 开始安装
⑥ 安装完成后,弹出安装完成对话框,如图4-6所示。这里的几个选项的含义如下。
图4-6 完成安装
· Show Release Notes:显示安装的版本注释信息。
· Add Example projects to the recently used project list:添加一个示例程序到当前项目列表中。
· Retain currentμVision configuration:保持当前的设置。
· Preselect Example Projects for:选择示例程序的类型。
⑦ 最后,单击“Finish”按钮,便可以结束RealView MDK集成开发环境的安装。
4.1.4 RealView MDK集成开发环境总览
对于读者来说,后面的学习和设计都需要和RealView MDK集成开发环境打交道。因此,下面将带领读者熟悉一下RealView MDK集成开发环境,帮助读者快速入门。当打开一个工程项目时,首先显示了软件的欢迎界面,如图4-7所示。当进入开发环境后,RealView MDK的界面环境如图4-8所示。
图4-7 欢迎界面
图4-8 RealView MDK集成开发环境界面总揽
这里我们看到,RealView MDK集成开发环境与Keil μVision3集成开发环境基本类似。RealView MDK具有典型的Windows界面风格,整个编程界面主要包括菜单栏、工具栏、项目管理区、源代码工作区和输出信息窗口。另外,还有一些功能窗口将在后面逐步介绍。下面我们将带领读者逐一认识一下RealView MDK集成开发环境的主要组成部分。
4.1.5 RealView MDK的菜单栏
RealView MDK的菜单栏提供了项目操作、编辑操作、编译调试及帮助等各种常用操作。所有的操作基本上都可以通过菜单命令来实现。下面分别进行介绍。
1.“File”菜单
“File”菜单和标准的Windows软件的“File”菜单类似,提供了项目和文件的操作功能。“File”菜单各个命令的功能如表4-1所示。
表4-1 “File”菜单
2.“Edit”菜单
“Edit”菜单提供了常用的代码编辑操作命令。“Edit”菜单各个命令的功能如表4-2所示。
表4-2 “Edit”菜单
3.“View”菜单
“View”菜单提供了在源代码编辑和仿真调试过程中,各个窗口和工具栏的显示和隐藏命令。“View”菜单各个命令的功能如表4-3所示。
表4-3 “View”菜单
4.“Project”菜单
“Project”菜单提供了ARM项目的创建、设置和编译等命令。“Project”菜单各个命令的功能,如表4-4所示。
表4-4 “Project”菜单
5.“Debug”菜单
“Debug”菜单中的命令大多用于仿真调试过程中,提供了断点、调试方式及逻辑分析等功能。“Debug”菜单各个命令的功能,如表4-5所示。
表4-5 “Debug”菜单
6.“Flash”菜单
“Flash”菜单提供了下载程序、擦除ARM处理器程序存储器等操作。这里的命令需要外部的编程器支持才可以使用。“Flash”菜单各个命令的功能,如表4-6所示。
表4-6 “Flash”菜单
7.“Peripherals”菜单
“Peripherals”菜单提供了ARM处理器各种硬件资源的仿真对话框。这里的所有命令都只在仿真调试环境下才显示并可以使用,且显示的资源内容随用户选择的ARM处理器型号的不同而不同。这里列出一些常用到的“Peripherals”菜单命令的功能,如表4-7所示。
表4-7 “Peripherals”菜单
8.“Tools”菜单
“Tools”菜单提供了一些第三方软件的支持,例如PC-Lint。用户需要额外安装相应的软件才可以使用。“Tools”菜单一般使用得比较少,这里仅列出各个命令的功能,如表4-8所示。
表4-8 “Tool”菜单
9.“SVSC”菜单
“SVSC”菜单提供了程序的版本控制,该菜单下仅包括“Configure Version Control”一个命令,用于配置软件版本。
另外,“Windows”菜单下提供了对工作区窗口布局的管理,“Help”菜单提供了一些帮助信息,这里不再具体介绍。
4.1.6 RealView MDK的工具栏
RealView MDK的菜单栏虽然提供了丰富全面的操作命令,但是操作比较麻烦。因此,RealView MDK在不同的环境下提供了对应的快捷操作工具栏,供用户实现简便的操作。RealView MDK的工具栏包括一些通用功能的工具栏、用于编译的工具栏、用于仿真调试的工具栏和一些硬件资源仿真工具栏。其中,硬件资源仿真工具栏将在以后的章节中用到的时候进行介绍。下面介绍一些最基本的工具栏。
1.通用功能工具栏
通用功能工具栏提供了一些标准的Windows文件操作,例如打开、保存和新建等。此外,还包括各种源代码文件的操作,例如复制、粘贴、标签操作和断点管理等。RealView MDK的通用功能工具栏如图4-9所示。RealView MDK通用功能工具栏各个工具按钮所对应的功能如表4-9所示。
图4-9 通用功能工具栏
表4-9 通用工具栏按钮及功能
2.编译工具栏
编译工具栏用于实现一些项目编译和程序下载的操作。编译工具栏,如图4-10 所示。编译工具栏按钮所对应的功能,如表4-10所示。
图4-10 编译工具栏
表4-10 编译工具栏按钮及功能
3.仿真调试工具栏
仿真调试工具栏在仿真调试环境下使用,提供了仿真和调试过程中经常使用的命令。仿真调试工具栏如图4-11所示。仿真调试工具栏按钮所对应的功能,如表4-11所示。
图4-11 仿真调试工具栏
表4-11 仿真调试工具栏按钮及功能
在这里提到很多个仿真调试环境下的分析窗口,我们将在后面章节中用到的情况下,结合实例进行介绍。
4.1.7 RealView MDK的快捷键
快捷键提供了比工具栏按钮更为快捷的操作,在RealView MDK集成开发环境中不仅提供了常用功能的默认快捷键,同时用户也可以根据自己的需要来自定义快捷键。RealView MDK系统默认的快捷键,如表4-12所示。
表4-12 Keil μVision3系统默认的快捷键