keil详细教程分享,还是官方版的哦
Keil公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。
Keil ARM开发工具集集成了很多有用的工具,如下图所示,正确的使用它们,可以有助于快速完成项目开发。
注意
µVision IDE集成开发环境和µVision Debugger调试器可以创建和测试应用程序,可以用GNU ARM ADS或者RealView的编译器来编译这些
应用程序;
MDK-ARM是PK-ARM的一个超集;
AARM汇编器、CARM C编译器、LARM连接器和OHARM目标文件到十六进制的转换器仅包含在MDK-ARM开发工具集中。 除了上表所列工具外,Keil 还提供以下工具:
启动代码(startup code)
启动代码用于初始化CPU以与硬件设计的配置相匹配,参阅开始使用ARM开发工具集用户指南, CPU启动代码 可以获取有关启动代码完成任务的详细信息。
不同系列的设备有不同的启动代码。文件夹\ARM\Startup 包含了基于 RealView编译工具的一些启动代码,它被配置成适用于不同的硬件平台。当创建一个新的工程时,启动代码被自动地拷贝到用于配置文件的工程文件夹下。
大多数启动文件为设备配置提供了符号定义,可以在 µVision的Project - Options - Asm - Define下键入这些符号。 下面是常用的选项:
„ REMAP: 在某些设备上执行存储映射。
„ EXTMEM_MODE: 配置为从片外Flash ROM执行代码。
„ RAM_MODE: 配置为从RAM执行代码。
„ RAM_INTVEC: 执行重映射并拷贝中断向量。
有关变量SET符号的详细说明及相关配置选项在启动代码文件中提供。
对由µVision自动生成的链接器配置来说,要求启动代码本身位于Reset段内,且中断向量表位于标号Reset_Handler (代表CPU重启地址)处。
使能存储器为Read/Only 和Read/Write,它作为应用中的默认存储域。只要不用Options - Properties对话框把源文件或组分配到指定的存储域,默认存储域将用于存储应用程序。
用于选择存储启动代码的存储域。这将意味着此存储空间存储了重启(reset)和中断向量表,链接器会在启动阶段(在进入主程序以前)把所有启动代码分配到此存储域内。
NoInit 复选框用于对某存储域禁止0初始化。需要注意的是在C源程序中仍然需要0(zero_init) 初始化。相关解释见禁止零初始化 。
注意:
默认的read/only存储域用于存储程序的初始化数据及分配到RAM中的程序代码和常量。 RealView微控制器开发集的评估板不支持分散加载描述文件。
有关分散加载描述文件请参阅RV Linker and Utilities User's Guide, Using Scatter-loading
注意:
当RAM 被用作Code / Const 时,__main 初始化会将程序代码和常量拷贝到此RAM区并执行。映像文件存储在Project - Options for Target - Target对话框中指定的默认存储域内。
这样的设置用于为链接器产生分散加载文件。如果禁止Project - Options for Target - Linker,此设置会被忽略。
此特性在RealView微控制器开发工具集的评估版下不可用。
不同的ARM微控制器有不同的中断优先级和中断系统。参考开始使用ARM开发工具集用户指南, 中断,可了解各种中断相关概念。
RealView编译器提供关键字__irq 以定义标准的(irq)和(fiq)中断函数。
感谢您选择了Keil公司的微控制器软件开发工具。使用这个工具可以创建ARM、XC16x、C16x、ST10、251及8051等微控制器的
嵌入式应用程序,详细的设备信息请参考设备数据库。
Keil公司将不断地添加新的设备和片上外设的的仿真支持,因此,如果本地设备数据库不包含用户打算使用的设备,请检查一下网络设备数据库。
这个用户手册提供了Keil ARM开发工具的概述。包括如下的章节:
简介 给出来了开发工具的概述、讨论了文件结构。
开发工具 描述了包括µVision IDE/调试器的Keil ARM开发工具的主要特性。解释了如何选择Keil CARM 编译器、GNU或ADS/RealView工具链。
创建应用程序 描述了如何创建工程、编辑源文件、编译和修改语法错误以及产生可执行代码。
测试程序 描述了如何使用µVision调试器仿真和测试完整的应用程序。
例程 提供了几个例子程序显示如何使用Keil µVision/ARM及相关开发工具。
使用片上外设 显示了如何使用开发工具访问片上外设。
CPU设置 提供了CPU启动代码和工具配置的详细信息。
JTAG调试讨论了如何如何使用Keil ULINK USB-JTAG仿真器调试目标系统。
Flash编程 描述了如何通过JTAG接口设置Keil ULINK仿真器进行Flash编程。
RDI接口驱动 解释了RDI调试解决方案的使用。
介绍
使用Keil软件开发工具可以创建基于ARM, XC16x, C16x, ST10, 251以及8051等微控制器(详细的微控制器列表请参考设备数据库)的嵌入式应用程序。
Keil公司将不断地向设备数据库中添加新设备以及片上外设的仿真支持,因此,如果在本地安装的µVision设备数据库中没有合适的设备请参考一下基于网站的设备数据库。
这一章将介绍Keil 软件的可用ARM开发工具,简单的介绍一下软件开发周期以及ARM开发工具链的 文件结构 。
软件开发周期
使用µVision 3作为嵌入式开发工具,其开发的流程与其他软件开发工具基本一样,一般分为以下几步:
1) 新建一个工程,从设备库中选择目标芯片,配置工程编译器环境;
2) 用C或汇编编写源文件;
3) 编译目标应用程序;
4) 修改源程序中的错误;
5) 测试链接应用程序。
下图描述了完整的µVision /ARM软件开发流程。本节后面将对其中的每一部分做简要描述。
µVision IDE集成了工程管理、带交互式错误修正的编辑器、选项设置、编译工具以及在线帮助。使用µVision可以创建源文件以及将这些源文件组织成定义目标应用程序的工程。用户可将注意力全部集中在µVision集成开发环境,因为它提供了嵌入式应用程序的自动编译、汇编以及链接。
C编译器和宏汇编器
在µVision IDE中创建源文件,这些源文件将使用C编译器编译或宏汇编器汇编。编译器和汇编器处理源文件,产生可重载的目标文件。
在Keil µVision/ARM中可以使用GNU 或ARM ADS/RealView 的开发工具。µVision/ARM包含了许多使用这些工具链的例程及详细信息。
库管理器
库管理器可以从编译器或汇编器产生的目标文件中创建目标库文件。库是具有特定格式和顺序的目标模块的集合,它在链接器中使用。当链接器处理库文件时,只有那些在程序中使用到的库文件目标模块才会被处理。
链接器/装载器
链接器/装载器使用目标模块创建绝对的ELF/DWARF格式文件,这些目标模块来源于库文件或编译器和汇编器产生的目标文件。绝对的目标文件或模块不包含可重载的代码或数据。所有的代码和数据都存储在固定的内存位置。绝对的ELF/DWARF文件可以在下述情况下使用:
编程Flash ROM或其他存储设备。
仿真和目标调试的µVision调试器。
程序测试的片内仿真器。
µVision调试器
µVision的源码级调试器非常适合快速可靠的调试。这个调试器包括一个高速的软件仿真器,它可以仿真一个包括片上外设和外部
硬件的完整ARM系统。当用户从设备数据库中选择所需芯片时,它的属性将自动被配置。
µVision的调试器为目标硬件上程序的测试提供了几种方法:
使用带USB-JTAG接口的Keil ULINK2仿真器进行应用程序的Flash下载和软件测试,它们是通过集成在ARM设备中的嵌入式ICE宏单元实现的。
使用高级的GDI 接口连接µVision调试器和目标系统。
完整的pdf格式文档51黑下载地址(共1472页):
keil教程.pdf
(11.22 MB, 下载次数: 427)
|