STM32系列微控制器开发工具与应用——keil
5.1 Keil MDK介绍
Keil是德国知名软件公司Keil(现已并入ARM 公司)开发的微控制器软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVision)将这些功能组合在一起。uVision当前最高版本是uVision3,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发ARM应用的工程师,都对它十分喜欢。
5.1.1 开发过程及集成开发环境简介
1. Keil的软件开发周期
使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多的,大致有以下几个步骤:
1. 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。
2. 编写C或者汇编源文件。
3. 编译应用程序。
4. 修改源程序中的错误。
5. 联机调试。
下面这种结构图完整描述了Keil开发软件的整个过程。
2. uVision3 集成开发环境
uVision3 IDE是一款集编辑,编译和项目管理于一身的基于窗口的软件开发环境。uVision3集成了C语言编译器,宏编译,链接/定位,以及HEX文件产生器。uVision3具有如下特性:
? 功能齐全的源代码编辑器,
? 用于配置开发工具的设备库,
? 用于创建工程和维护工程的项目管理器,
? 所有的工具配置都采用对话框进行,
? 集成了源码级的仿真调试器,包括高速CPU和外设模拟器,
? 用于往Flash ROM下载应用程序的Flash编程工具,
? 完备的开发工具帮助文档,设备数据表和用户使用向导。
uVision3具有良好的界面风格,下图是一个典型的调试时的窗口。
? 工程区:用于访问文件组和文件,调试是可以查看CPU寄存器。
? 输出窗口:显示编译结果,以便快速查找错误的地方,同时还是调试命令输入输出窗口,也可以用于显示查找结果。
? 内存窗口:显示指定地址内村里的内容。
? 查看和调用栈窗口:用于查看和修改变量的值,并且现实当前函数调用树。
? 代码窗口:用于查看和编辑源文件。
? 外设对话框:检查微控制的片上外设的状态。
3. ULINK USB-JTAG接口适配器
ULINK USB-JTAG是一个用于连接PC USB口和开发板JTAG口的小硬件适配器。通过ULINK你可以在真实的目标板上创建,下载和测试嵌入式应用。ULINK支持如下操作:
? 下载目标程序。
? 检查内存和寄存器。
? 单步运行程序。
? 插入多个断点。
? 实时运行程序
? 烧写FLASH存储器
5.1.2 工程管理
在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil支持数百种CPU,而这些CPU的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加到一个工程中,只对工程而不是对单一的源程序进行编译(汇编)和连接等操作。下面我们就以一个简单的例子HelloWorld来讲解如何建立工程和配置工程。在这个例子里,我们将实现开发板上的LED1闪烁,本例使用STM32F103C开发板为目标板。
5.1.2.1 新建工程
点击菜单“Project”,选择“New uVision Project”,这是将会出现一个对话框,要求给将要建立的工程起一个名字。
选择你要保存的路径,输入工程文件的名字,这里我们就叫HelloWorld,uVision3工程文件的后缀为“.uv2”,然后点击“Save”。 这时会弹出一个对话框要求你选择目标设备的型号。
你可以根据你使用的处理器来选择,如果您所使用的处理器型号在列表中找不到,也可以找一款与您使用的相兼容的型号来代替。这里我们选择STM32F103C8,如图所示,右边一栏是对这个芯片的基本的说明,然后点击“OK”。
有些芯片会提供启动代码,我们这个时候点击“Yes”,到此一个工程就建立好了。
5.1.2.2 配置工程
工程建立好了之后,还要对工程进行进一步的设置,以满足要求。
首先用鼠标右键(注意用右键)点击左边工程窗口的“Target 1”,会出现一个菜单,选择“Options for Target Target 1”(也可以通过点击工程窗口的Target 1”,然后使用菜单“Project”->“Options for Target Target 1”),即出现工程配置的对话框,如下图所示:
STM32系列微控制器kei 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)