手把手教你STM32F103ZE新建keil工程

手把手教你STM32F103ZE新建keil工程
手把手教你STM32F103ZE新建keil工程

手把手教你STM32F103ZE新建keil工程

接下来我将手把手的教您新建一个基于V3.5版本固件库的STM32F1工程模板。步骤如下:

1)在建立工程之前,我们先在电脑的某个目录下建立文件夹(我建在了桌面),后面所建立的工程都可以放在这个文件夹下面,这里我们建立一个文件夹

为test。

2)点击MDK的菜单:Project→New Uvision Project,然后将目录定位到刚才建立的文件夹test之下,在这个目录下建立子文件夹USER(我们的代码

工程文件都是放在USER目录,很多人喜欢新建“”Project“”目录下面,这也

是可以的,这个就看个人喜好了),然后定位到USER目录下,我们的工

程文件就都保存到USER文件夹下面。工程命名为test,点击保存。

图1新建工程

图2定义工程名称

接下来会出现一个选择CPU的界面,就是选择我们的芯片型号。如图3所示,这里我们选择STM32F103ZET6,操作:STMicroeletronics→STM32F1 Series→STM32F103→STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了,特别注意:一定要安装对应的器件pack才会显示内容哦~)

图3选择芯片型号

3)点击OK,MDK会弹出Manage Run-Time Environment 对话框,如图4:

图4Manage Run-Time Environment 界面

这是MDK5新增的一个功能,,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。所以在图 4 所示界面,我们直接点击Cancel,即可,得到如图5所示的界面:

图5工程初步建立

到这里,我们还只是建了一个框架,还需要添加启动代码,以及.c 文件等。

4)现在我们看看USER 目录下面包含2 个文件,如下图6 所示:

图6工程USER目录文件

这里我们说明一下,Template.uvprojx 是工程文件,非常关键,不能轻易删除。

5)接下来,我们在test 工程目录下面,新建3 个文件夹CORE, OBJ 以及STM32F10x_FWLib。CORE 用来存放核心文件和启动文件,OBJ 是用来存放编译过程文件以及hex 文件,STM32F10x_FWLib 文件夹顾名思义用来存放ST 官方提供的库函数源码文件。已有的USER 目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括system_stm32f10x.c 等等。

图7工程目录预览

6)下面我们要将官方的固件库包(读者自行去ST官网下载)里的源码文件复制到我们的工程目录文件夹下面。打开官方固件库包,定位到我们之前准备好的固件库包的目录

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver

下面,将目录下面的src,inc 文件夹copy 到我们刚才建立的STM32F10x_FWLib 文件夹下面。src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件,您不妨打开这两个文件目录过目一下里面的文件,每个外设对应一个.c 文件和一个.h 头文件。

图8官方库源码文件夹

7)下面我们要将固件库包里面相关的启动文件复制到我们的工程目录CORE 之下。我们的芯片STM32F103ZET6 是大容量芯片,所以选择startup_stm32f10x_hd.s启动文件。现在看看我们的CORE 文件夹下面的文件:

图9启动文件夹

8)定位到目录:

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport \ST\STM32F10x 下面将里面的三个文件stm32f10x.h,

system_stm32f10x.c,system_stm32f10x.h,复制到我们的USER录之下。

然后将

STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Temp late下面的 4 个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 复制到USER 目录下面。

图10 USER目录文件浏览

9)前面8 个步骤,我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将这些文件加入我们的工程中去。右键点击Target1,选择Manage Project Items。

图11点击 Management Project Itmes

10)Project Targets 一栏,我们将Target 名字修改为Template,然后在Groups 一栏删掉一个SourceGroup1,建立三个Groups:USER,CORE,FWLIB。然后点击OK,可以看到我们的Target名字以及Groups 情况。

图12新建分组

图13工程主界面

11)下面我们往Group 里面添加我们需要的文件。我们按照步骤10 的方法,右键点击点击Tempate,选择选择Manage Project Itmes,然后选择需要添加文件的Group,这里第一步我们选择FWLIB,然后点击右边的Add Files, 定位到我们刚才建立的目录STM32F10x_FWLib/src 下面,将里面所有的文件选中(Ctrl+A),然后点击Add,然后Close.可以看到Files 列表下面包含我们添加的文件。

这里需要说明一下,对于我们写代码,如果我们只用到了其中的某个外设,我们就可以不用添加没有用到的外设的库文件。例如我只用GPIO,我可以只用添加stm32f10x_gpio.c 而其他的可以不用添加。这里我们全部添

加进来是为了后面方便,不用每次添加,当然这样的坏处是工程太大,编用同样的方法,将Groups 定位到CORE 和USER 下面,添加需要的文件。这里译起来速度慢,用户可以自行选择。

图14添加文件到 FWLIB 分组

12)用同样的方法,将Groups定位到CORE和USER下面,添加需要的文件。

这里我们的CORE下面需要添加的文件为core_cm3.c,

startup_stm32f10x_hd.s(注意:默认添加的时候文件夹类型为.c,也就是添加startup_stm32f10x_hd.s启动文件时,你需要选择文件类型为All files 才能看得到这个文件),USER目录下面需要添加的文件为main.c,stm32f10x_it.c,system_stm32f10x.c.。这样我们需要添加的文件已经添加

到我们的工程中了,最后点击OK,回到工程主界面。

图15添加文件到 CORE 分组

图16添加文件到 USER 分组

图17工程结构

13)点击魔术棒,然后选择“Output”选项下面的“Select folder for objects…”,然后选择目录为我们上面新建的OBJ 目录。

图18选择编译后的文件存放目录

14)下面我们要告诉MDK,在哪些路径之下搜索需要的头文件,也就是头文件目录。这里大家要注意,对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含到进来。回到工程主菜单,点击魔术棒,出来一个菜单,然后点击c/c++选项.然后点击Include Paths 右边的按钮。弹出一个添加path 的对话框,然后我们将图上面的 3 个目录添加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得path一定要定位到最后一级子目录。然后点击OK。

图19点击魔术棒

图20C/C++选项卡

图21添加头文件路径到 PATH

15)按照步骤14,定位到c/c++界面,然后填写

“STM32F10X_HD,USE_STDPERIPH_DRIVER”到Define 输入框里面(请注意,两个标识符中间是逗号不是句号)然后点击OK。

图22 添加全局宏定义标识符到 Define 输入框

16)这次在编译之前,我们记得打开工程USER 下面的main.c 文件,复制下面代码到main.c覆盖已有代码,然后进行编译。(记得在代码的最后面加上一个回车,否则会有警告),可以看到,这次编译已经成功了。

图23 main.c代码参考

图24 工程编译结果17)这样一个工程模版建立完毕。

keil工程文件的建立以及简单代码的编写

KEIL工程的建立以及简单程序的编写下载   相关软件及硬件实验平台 单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2 下面分别介绍这keil uVision2和 实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP在线下载工具,这里一并进行介绍。 为了便于大家学习,这里我们写一个以1602液晶为显示器件的可显示时、分、秒的电子时钟程序为例介绍整体程序从编辑、编译到下载的全过程。(具休程序已事先写好并经正常调试无误,后面课程会具体介绍,这里暂不作讲解) 在正式的写程序之前,需进行keil uVision2软件的安装和实验板驱动程序的安装,相关的软件及驱动程序请大家直接在实验室网站下载中心进行下载,这里给出下载地址。keil uVision2软件件及安装方法、实验板驱动程序及安装方法。 安装安成后,即可按下面的步骤进行。 1、KEIL软件的使用及工程文件的建立 51单片机程序设计所用到的开发软件主要是keil uVision,它是由德国Keil Software公司开发的,2005 年Keil公司被ARM公司收购,并于2009年发布了keil uVision4,这个版本的软件支持ARM系列的芯片,如现目前流行的STM32等芯片 ,我们这里使用的是uVision2版本。 (1)、打开KEIL软件 双击keil快捷方式图标(软件安装好后,一般在桌面上会有快捷方式,双击即可),出现启动界面如图1,紧接着出现编辑界面如图2。 图1 启动keil软件时的界面

STM32的Keil工程文件建立过程

固件库采用3.5.0版本 USE_STDPERIPH_DRIVER,STM32F10X_CL 1.首先建立工程文件,将固件库中的文件复制过来 建立工程文件夹project,包含文件夹 user:用户可自己修改的文件 CMSIS:Cortex-M3内核相关文件 startup:启动单片机的汇编文件 driver:外设操作的驱动文件 具体向工程文件夹中添加的文件为: 将路径:固件库文件夹\Project\STM32F10x_StdPeriph_Template中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件添加到user文件夹,再在其中建立一个main.c主文件 将路径:固件库文件夹\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c、core_cm3.h 文件,以及固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h文件添加到CMSIS文件夹 将路径:固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 中的startup_stm32f10x_cl.s(互联型启动文件)文件添加到startup文件夹 将路径:固件库文件夹\Libraries\STM32F10x_StdPeriph_Driver中的src和inc文件夹全部复制到driver文件夹

2.在Keil中建立工程并管理工程文件

STMv3.5固件库在keil4中建立工程的具体过程

首先建立一个文件夹用来装工程(文件夹名自定,笔者建立的文件名为“ggyy_Proj”文件夹)。 在“ggyy_Proj”文件夹下,建立两个文件夹“User”和“Project”。 将库文件STM32F10x_StdPeriph_Lib_V3.5.0下的“Libraries”文件夹全部拷入“ggyy_Proj”文件夹下。 将“ggyy_Proj”文件夹下的“Project”文件夹下建立三个文件夹“List”、“Obj”和“Pro”。其中Pro用来存放工程。 将“ggyy_Proj”文件夹下的“User”文件夹下建立两个文件夹“inc”和“src”。

然后将需要用到的文件拷贝到相应的文件夹中: 将以下5个.h文件考进ggyy_Proj下User下的inc文件夹中: ···ggyy_Proj\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h ···ggyy_Proj\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h \stm32f10x.h 固件库中: ·STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h \stm32f10x_it.h 将以下2个.c文件考进ggyy_Proj下User下的src文件夹中: 固件库中: ···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c \main.c 现在打开keil,并点击在Project菜单栏下的New uVision Project…来新建工程。

keil添加文件建立一个最简单工程

建立一个最简单工程-基于StdPeriph_Lib 第一步: 新建一个工程文件: 并选择CPU型号: 询问是否复制自带的启动文件,选择否即可,我们使用ST固件库中的.

第二步: 对源文件分组管理 新建三个组: user Libraries(ST固件库) CMSIS(CM系列通用库) 分组管理源文件可以使程序结构变成清晰

第三步: 开始添加源文件 User 目录添加main.c it.c(包含最基本的中断处理函数) Libraries 目录添加ST固件库的所有文件(可以只添加需要的,但一起添加比较省事,且链接时并不会链接不使用的函数,所以并不会使目标变大) CMSIS添加CMSIS中STM32需要的部分 Libraries/CMSIS/CM3/CoreSupport/core_cm3.c

Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s (启动文件,但STM32各系列兼容性较好,如果不用特殊功能,各启动文件区别不大)

第四步: 设置项目的头文件搜索目录及目标输出目录 1.设置全局定义: USE_STDPERIPH_DRIVER 用来定义使用ST的固件库 STM32F10X_HD 设置目标芯片的类型 其它的有STM32F10X_MD和STM32F10X_CL有等.与启动文件对应. 同时勾上one elf section per function,即相同的段只链接一次.然后开始设置头文件搜寻目录.

GD32 Keil5工程创建步骤

第一步:安装DFP软件包 (1)按照Keil uVision5, 步骤略。我的keil版本如下: (2)下载GD3210X的DFP软件包。 下载地址: 插件包下载完成后,有3个文件。 (3)安装DFP软件包。双击.pack文件进行安装,如下图所示:

点击next,将包文件复制到上面的路径位置。如下图: GigaDevice文件夹就是安装好的软件包。 第二步:创建Keil工程 (1)通常要新建3个文件夹。如下图所示: (2)打开keil5,新建project.将工程文件放到Mdk-Arm目录下面。弹出器件选择界面:在Device下拉框,选择Software Packs,选择GD32F103RB,点击OK

接着弹出Mannage RTM界面,选中CMSIS的CORE和设备外围库文件,如下所示: 点击OK,CMSIS工具自动添加库文件到./Mdk-Arm/RTE目录中,工程目录如下所示:

(3)在Keil5中,打开文件管理界面: 依次创建文件组:Application/Utilites/Documents (4)将main.c gd32f10x_it.c sysstick.c相关文件拷贝到userr文件夹,并添加到Application 文件组中。 (5)设置编译的头文件目录:将DFP包的CMSIS相关头文件路径都加进去,将 RTE_Components.h配置头文件路径加进去。如下图所示:

Main文件内容如下: 注意: (1)此项目是用MDK CMSIS配置工具建立的,CMSIS配置工具会自动将选用的标准库源码的C文件从Kiel5的DFP包标准库目录下拷贝到当前的项目中:./Mdk-Arm/RTE路径下,但是没有将头文件拷贝过来。所以此项目的编译依赖实际的Keil5安装环境:没有安装DFP包或头文件目录跟工程设置的包含路径不对应的话,就会出现编译失败。也就是说,将一个项目拷贝到另一台电脑时,编译可能失败。 (2)main.c/systick.c和gd32f10x_it.c是从例程中拷贝过来的. (3)头文件的前面出现感叹号,表示没有正确的引用。 (4)也可以不用MDK CMSIS配置工具,手动拷贝相应的CMSIS库文件,进入DFP软件包目录下,将GD32F10x_DFP文件夹整体拷贝到过来。再将 C:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS目录下的Include目录拷贝过来。再将启动文件也拷贝过来,(注:位置应该是GD32F10x_DFP\2.0.0\Device\Source\ARM, 此处我选的MCU 是GD32F103RB,所以用md.s),将其拷贝到过来。手动拷贝库文件建立工程的方法跟用CMSIS 配置工具建立工程的方法大同小异,只是工程里面添加了标准库文件之后,记得要手动配置对应的头文件。而借助CMSIS工具,则会自动通过更改RTE_Components.h文件实现。

keil_MDK建立工程步骤方法

KEIL工程建立步骤点击Next,勾选安装协议:

下一步,选择安装路径(笔者因硬盘空间不足安装在E盘,但若读者硬盘资源充裕,则建议安装在C盘,跑起来快些): 下一步,填写用户信息,个人用户随意填入即可:

点击Next 就进入实质的安装过程啦,Wait for a Whle…… 很快安装完毕,看到2 个可选项: 1、保持当前uVision 的设置。 2、载入以下选择的工程实例,默认即可。

点击Next,来到最后一个安装界面: 1.是否安装ULINK Pro Driver V1.0驱动? 2.是否显示软件发布说明? 读者可以按照自己的需求勾选。 点击Finish,KEIL MDK就完成安装了,可以发现桌面上生成了名为“Keil uVision4”的可执行文件快捷方式。双击“Keil uVision4”图标打开Keil uVision4开发环境,此时Keil uVision4会自动载入一个工程项目(依安装的倒数第二步勾选而定),我们就此可以简单地看看KEIL MDK 的用户界面。

如图所示,KEIL MDK的基本用户界面也是很简洁的,也是由一些菜单栏,工具栏,状态栏等区域构成。当然KEIL MDK的软件界面远远不止这么简单,读者可以在日后漫长的工程师生涯逐一熟悉。 至此,KEIL MDK的安装工作已经完毕了。接下来我们要开始建立我们的第一个工程。在开始之前,请读者先从网上获取ST公司提供的STM32固件库“stm32f10x_fw_archive v2.0 (May 2009)”,然后将其解压。 首先请读者在任意一个地方建立一个空文件夹,并将其命名为“STM32_FW”。然后在STM32_FW 里新建6个文件夹,分别命名为“boot”、“library”、“src”、“obj”、“list”、“library”。 如下图所示: 接下来请执行如下操作:

Keil 工程文件的建立

Keil 工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发 MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行 Keil 软件需要Pentium 或以上的 CPU,16MB 或更多 RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP 等操作系统。掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 我们将通过一些实例来学习 Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图 1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于 MCS-51 系列,其内部有 4K 的 FLASH ROM,可以反复擦写,非常适于做实验。89C51 的 P1 引脚上接 8 个发光二极管,P3.2~P3.4 引脚上接 4 个按钮开关,我们的第一个任务是让接在 P1 引脚上的发光二极管依次循环点亮。 一、Keil 工程的建立 首先启动 Keil 软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击 uVision 的图标以启动该软件。 UVison 启动后,程序窗口的左边有一个工程管理窗口,该窗口有 3 个标签,分别是Files、Regs、和 Books,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选 CPU 的附加说明文件,如果是第一次启动 Keil,那么这三个标签页全是空的。 1、源文件的建立 使用菜单“File->New ”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入以下汇编语言源程序,例 1:

keil编程步骤

-、双击打开keil编程软件,图标如下图所示 二、新建工程:在“菜单栏”-“Project”-“New”-“μvision Project”-输入要保存的工程名。

根据单片机的型号选择CPU,然后点击“确定”。 选择“否”。 三、新建文件 点击新建文件。 四、保存文件 注意:文件名要带扩展名。用C语言编写的程序,扩展名为“.c”;用汇编语言编写的程序,扩展名为“.asm”。点击“保存”。

五、添加文件到工程 在工程管理器中,用鼠标右键点击“Source Group 1”,选择“Add File to Group ‘Source Groutp 1’”,如果要添加的文件是汇编文件,文件类型选择如下图所示的类型;如果是C语言文件,文件类型选择“*.c”。双击要添加文件,然后点击”close”。

在工程管理器中,可以看到刚刚添加的文件 六、编写程序 七、编译当前文件 点击按钮 八、修改错误 根据输出框里的提示信息修改程序中的错误 九、生成烧录文件 在工程管理器中,鼠标右键单击,按下图操作。

将“create HEX file”前复选框前选上。“02”是文件名,可以改成其他的名,文件名前“select folder for objects”是此文件要保存的位置,默认情况下和当前工程保存在同一目录下,如果要保存在其他位置,可以点击此外进行修改。 点击编译工程图标,在输出框里会有提示信息 ,说明生成了hex文件。注意:必须在编译当前 文件没有错误的情况下才能生成hex文件。 十、将程序下载到单片机

双击烧录软件图标,打开软件。按下图所示设置“编程器及接口”、“编程”。“选择芯片”:根据你当前的单片机选择型号。 点击图标, 找到生成的HEX文件打开。点击图标,将程序烧录到单片机。

如何使用KeilC51创建一个工程文件

如何使用KeilC51创建一个工程文件 建立一个项目: 点击工程菜单中选择弹出的下拉式菜单中的新建工程...,接着弹出一个标准Windows 文件对话窗口,在"文件名"中输入您的第一个程序项目名称,这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目 。 这时会弹出让你选择单片机型号的对话框,我们选择A TMEL---A T89C51

然后点击Target 1前面的“+”,出现Source Group 1,选中右键点选“增加文件到组Source Group 1” 这时选择文件类型为Asm 源文件,再选中001.asm文件,再按添加,在随后出现的提示框中按“确定” 仿真器采用Mon51协议,在使用之前应必须对软件项目进行如下设置: 1、单击工程菜单,再在下拉菜单中单击"目标target 1属性" 在下图中,单击"Target"输入仿真器的工作频率(11.0592MHz)

2、在调试菜单中点选"Keil Monitor-51 Driver",即选择了STC89C516RD硬件仿真器。 3、单击“R外围设备”选Target Setup设置选项选择您要使用串口(必须和实际相符合),波特率38400。 如果被仿真的目标板使用12MHZ或者是11.0592MHZ晶振时波特率选择38400,如果被仿真的目标板使用6MHZ晶振时波特率选择18400。

4、如果需要生成HEX代码给编程器烧写芯片的话,需要选中“生成HEX 文件”的选项,按钮“选择OBJ文件夹...”是用来选择最终HEX文件的存放目录的。 5、按F7快捷键可以进行编译,编译成功后如会出现上图红箭头所指的文字,表示编译成

ARM的KEIL工程建立及编译过程

ARM 的KEIL 工程建立及编译过程 精简: 1)添加:Ext_RAM.ini 和RuninRAM.sct; 2)选中 ,去掉 3)注意LOAD 1.axf INCREMENTAL // Download program 这个名要与工程名保持一致。 第一步:新建工程 点击Project-new uvision Project 新建工程,注意工程名没有后缀。 点是,自动生成启动代码,否,要自己写启动代码。 第二步:自己写c 程序(用户程序): 点击File-New 新建文件:注意文件名尾缀为.c。 U n R e g i s t e r e d

第三步:添加C 文件 选中Source Group1点击右键,进行文件添加。 第四步:COPY 三个文件:(第一个是用户程序,自己写就不需要添加,最后一个如果自动生成启动代码也不需要添加)Ext_RAM.ini 和RuninRAM.sct 必须添加。 Ext_RAM.ini :J-LINK 初始化脚本,必须添加。 代码执行前必须要初始化CPU 内部的一些寄存器。该文件就是做初始化工作,给J-LINK 用。J-LINK 通过读取该配置文件,初始化目标板主CPU 相关的寄存器。 RuninRAM.sct:代码编译时需要的链接文件,其主要作用就是组织代码的到该脚本指定的地址。 S3C2440A.s:初始化代码(启动代码) 小知识点:RuninRAM.sct:代码分析 U n R e g i s t e r e d

; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM LR_ROM1 0x30000000 { ; load region 程序运行起始地址。内存起始地址固定0x30000000 ER_ROM1 0x30000000 0x0040000 { // 0100 ; load address = execution address 程序的下载地址,及程序容量 *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x30040000 0x0040000 { ; RW data RW 段起始地址 .ANY (+RW +ZI) } RW_IRAM1 0x40000000 0x00001000 { //芯片内部4k sram 空间,固定式0x40000000开始。 .ANY (+RW +ZI) } } 第五步:配置 U n R e g i s t e r e d

第2课 keil软件及工程文件的建立

第2 课keil 软件及工程文件的建立 单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2,该软件大家可以到实验室的下载中心进行下载;硬件实验平台主要采用我们实验室自行设计的实验板,有需要的请直接与我们联系。下面分别介绍这keil uVision2 和实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP 在线下载工具,这里一并进行介绍。为了便于大家学习,这里我们写一个以1602 液晶为显示器件的可显示时、分、秒的电子时钟 程序为例介绍整体程序从编辑、编译到下载的全过程。(具休程序已事先写好 并经正常调试无误,后面课程会具体介绍,这里暂不作讲解)在正式的写程序之前,需进行keil uVision2 软件的安装和实验板驱动程序的安装,相关的软件及驱动程序请大家直接在实验室网站下载中心进行下载,这里给出下载地址。keil uVision2 软件件及安装方法、实验板驱动程序及安装方法。安装安成后,即可按下面的步骤进行。1、KEIL 软件的使用及工程文件的建立51 单片机程 序设计所用到的开发软件主要是keil uVision,它是由德国Keil Software 公司开发的,2005 年Keil 公司被ARM 公司收购,并于2009 年发布了keil uVision4,这个版本的软件支持ARM 系列的芯片,如现目前流行的STM32 等芯片,我们这里使用的是uVision2 版本。(1)、打开KEIL 软件双击keil 快捷方式图标(软件安装好后,一般在桌面上会有快捷方式,双击即可),出现启动界面如 图1,紧接着出现编辑界面如图2。图1启动keil 软件时的界面图2进入

GOODKeil工程文件的建立设置与目标文件的获得

实例教程(一) Keil工程建立及设置 作者:教程来源:本站原创点击数:1700 更新时间:2008-7-23 Keil工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。89C51的P1引脚上接8个发光二极管,~引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。 一、Keil工程的建立 首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。 UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。

keil5如何建工程

北京科技大学 Keil5工程创建及程序 下载 创建工程;下载程序 北京科技大学MEI团队 作者:解乃颖联系方式:ny_xie@https://www.360docs.net/doc/5e16380278.html,日期:2014-08-20

目录内容 创建工程: __________________________________________________________________ 步骤一:创建文件夹和相应的库文件________________________________________ 1步骤二:创建工程文件__________________________________________________ 1步骤三:添加库函数____________________________________________________ 3步骤四:选择输出路径__________________________________________________ 7步骤五:添加路径和定义_________________________________________________ 9 程序下载: ________________________________________________________________ 联系信息 __________________________________________________________________ 12

创建工程: 步骤一:创建文件夹和相应的库文件 新建工程文件夹目录如下 其中,文件夹Prj 包含以下文件夹: 之后添加常用文件,如main.c bsp.c function.c Global.h Config.h 等 步骤二:创建工程文件 打开keil5,创建新工程。 “需要向您的读者 指出某些极其重要的内容吗?请使用边栏突出该内容。”

MDK5新建工程步骤

首先,打开MDK(以下将MDK5简称为MDK)软件。然后点击Project New uVision Project 桌面新建一个TEST的文件夹,然后在TEST 文件夹里面新建USER文件夹,将工程名字设为test,保存在这个USER文件夹里面。 STM32F103 所使用的STM32 型号为STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了)。

点击OK,MDK会弹出Manage Run-Time Environment对话框,直接点击Cancel,即可。此时我们只是建立了一个框架结构。 还需要添加启动代码,以及.c 文件等这代码主要作用如下: 1、堆栈(SP)的初始化; 2、初始化程序计数器(PC); 3、设置向量表异常事件的入口地址; 4、调用main函数。 ST公司提供了3个启动文件给我们,分别用于不同容量的STM32芯片,这三个文件是: startup_stm32f10x_ld.s startup_stm32f10x_md.s startup_stm32f10x_hd.s 其中,ld.s适用于小容量产品;md.s适用于中等容量产品;hd适用于大容量产品; 这里我们把startup_stm32f10x_hd.s 拷贝到刚刚新建的USER 文件夹里面。 我们找到Target1→Source Group1→双击→设置打开文件类型为Asm Source file→选择startup_stm32f10x_hd.s→点击Add,

在USER 文件夹下,startup_stm32f10x_hd.s(启动文件)和test.uvprojx(MDK5工程文件)是我们必须用到的2个文件,然后Listings和Objects文件夹是MDK5自动生成的,如果打开Listings和Objects文件夹,就可以看到里面多了一些文件,这就是MDK编译过程产生的中间文件,如果工程量大,产生的文件更多(多的可达100 MB 以上!!)。MDK5.14 已经默认将这些文件生成在了Listings和Objects文件夹里面,但是MDK5.11A及之前版本是不会自动生成这两个文件夹的,所有中间文件都是生成在工程同面目录下,也就是USER 文件夹下,这样会显得比较混乱。 这里,我们不用MDK5 自己生成的这两个文件夹来存放中间文件,而是在TEST 目录下新建一个新的OBJ 文件夹来存放这些中间文件。 然后在Target目录树上点击右键 Manage Project Items,在上面对话框的中间栏,点新建(用红圈标出)按钮(也可以通过双击下面的空白处实现),新建USER和SYSTEM两个组。然后点击Add Files按钮,把SYSTEM文件夹三个子文件夹里 面的:sys.c、usart.c、delay.c加入到SYSTEM组中。 接着,我们新建一个test.c文件,并保存在USER文件夹下。然后双击USER组,会弹出加载文件的对话框,此时我们在USER目录下选择test.c文件,加入到USER组下。

keil创建arm工程操作步骤

Keil创建ARM工程操作步骤 1、双击keil uvision4,打开keil开发环境 2、选择project—> new uvision project 创建新项目,在创建新项目时,最好先新建一个文件夹,把新项目创建在新文件夹里,这样项目所生产的文件都在该文件夹下,便于项目的管理。 3、在弹出的对话框中选择芯片类型 芯片选择好后,点击OK退出。这时弹出一个对话框,询问是否添加启动代码到新项目中,选择“是”。 4、选择file-->new,新建文件。在文件输入主函数程序代码。输入完

后,点击保存,假设命名为main.c 。注意保存路径,要和项目在同一文件夹下。 5、右键点击source group1,选择add file to source group1. 添加mail.c文件。若项目中包含文件较多,均可采用该方法添加文件。 6、配置相关选项。点击红框的target options 弹出

选择output标签 然后点击“select folder objects”,弹出一对话框,在这里新建一个文

件夹,命名为“obj”,然后双击进入obj文件夹。然后点击ok退出。本步骤的目的是将生产的目标文件都放在obj文件夹里。 7、选择listing标签,点击select folder for listings ,新建文件夹list,并双击进入该文件夹,然后点击ok直接退出。 8、选择linker标签,勾掉use memory layout from target dialog,选择Scaterfile 后面的第一个按钮,选择文件。然后点击编辑。

MDK工程模板的建立.

STM32F103系列入门—— RealView MDK 工程模版建立 智能机械创新实践班 Version 1.0 一、新建工程前准备 (1)开发环境:Keil uVision4/RealView MDK V4.12;(2)仿真下载器驱动:JLINK v8; (3)STM32标准固件库:STM32F10x_StdPeriph_Lib_V3.5.0;(4)STM32实验板(MCU :STM32F103C8T6);(5)JLink 仿真下载器。 二、创建工程目录 Step1: 选择本地磁盘X(X:D 、E 、F 、… ,新建文件夹“STM32_Prj_Model”; Step2: 在“STM32_Prj_Model”目录下新建“CMSIS ”、“RVMDK ”、“Startup ”、“STM32_Lib”、“User ”等五个文件夹;

Step3: 在“RVMDK ”目录下新建“List ”、“Obj ”文件夹。

三、固件库文件拷贝 Step4: 将固件库目录 “…\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport ”中文件“core_cm3.c”、“core_cm3.h”拷贝至“X:\STM32_Prj_Model\CMSIS”; Step5: 将固件库目录 “…\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM 32F10x”中文件“stm32f10x.h ”、“system_stm32f10x.c”、“system_stm32f10x.h”拷贝至“X:\STM32_Prj_Model\CMSIS” ;

Keil5新建工程步骤(图文)

新建工程 第一步:创建一个工程目录 第二步:在刚才新建的文件夹中再新建两个文件夹 System---用于存放stm32 系统文件 User --用于存放我们自己编写的文件 第三步:在user文件夹中还要建两个文件夹src和inc分别用来存放我们自己写的C文件和头文件.h文件 第四步:找出系统文件 1.内核文件:把内核文件拷贝到system文件夹中 M3资料\STM32 固件库使用参考资料 \STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3 \CoreSupport 2.stm32 时钟初始化文件 M3资料\STM32 固件库使用参考资料 \STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\De viceSupport\ST\STM32F10x 3.启动文件—用于初始化芯片环境 hd— md— ld— 开发板用的是高容量的STM32,所以这里选择hd M3资料\STM32 固件库使用参考资料

\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM 3\DeviceSupport\ST\STM32F10x\startup\arm 完成后的system文件夹 第五步:新建keil工程 1.打开 2 2.选择保存的路径—第一步建的文件夹

STM32F4(KEIL5函数版)工程模板建立方法

1.下载对应型号的STM32固件库 2.建立好对应的文件夹 2.1 建立文件夹 工程说明 主要存放stm32f429的官方固件库 存放编译产生的调试信息,hex文件,预览信息,封装库扥文件 主要存放内核文件和启动文件 存放main函数,中断函数,配置函数,429系统函数 2.2 在文件夹里放对应的固件库文件 1. STM32F429I-Discovery_FW_V1.0.0\Libraries\STM32F4xx_StdPeriph_Driv er。将inc,src文件夹放入。 2. STM32F429I-Discovery_FW_V1.0.0\Libraries\CMSIS\Device\ST\STM32F4 xx\Source\Templates\arm找到startup_stm32f429_439xx.s 放入 STM32F429I-Discovery_FW_V1.0.0\Libraries\CMSIS\Include 找到core_cm4,core_cm4_simd,core_cmFunc,core_cmInstr放入

3. STM32F429I-Discovery_FW_V1.0.0\Projects\Template将里面所有的文本文件放入user文件夹。 STM32F429I-Discovery_FW_V1.0.0\Libraries\CMSIS\Device\ST\STM32F4 xx\Include将stm32f4xx.h和system_stm32f4xx.h放入user文件夹。 3.打开Keil建立工程模板 一

找到对应的STM32芯片型号 二

Keil uVision4 第一个工程的建立和环境设置

Keil uVision4 第一个工程的建立和环境设置(02)分类: ARM_DSP_MCU_BUS_OTHER 发布: mckeeqin 浏览: 242日期: 2010年6月19日 建立一个工程,效果是让NUC100 (48脚的芯片) PC3口LED闪烁, 第1步:点击Project --->New uVision Projiect 第2步:输入工程名字:test (最好事先建立一个工程文件夹) 第3步:选择对应公司的芯片

第4步:点击“是”,添加启动代码段 第5步:新建一个文档,输入如下代码(注 main的返回值是int型),并保存文件为test1.c 到工程文件夹下,然后添加到本工程下,效果如下图 第6步:把厂家提供的基本驱动程序添加到工程中,下面四个文件夹一起复制到test工程文件夹下,并在test工程文件夹下,新建两个文件夹分别命名为list和obj(分别用于放置编译过程中产生的文件,这样工程编译后,工程文件夹下才不会显的乱七八糟),效果如下面第二个图所示。

第7步:为工程建立2个相应的文件夹,并分别命名为“nuc”和“gpio”用于放置相应的库文件,然后把工程名Target 1重新命名为“test”, 源文件夹命名为“main”。(命名的方法是选中文件夹,按下F2键) 效果如下图第二张

第8步:分别右击“nuc”文件夹和“gpio”文件夹,选择“Add Files to Group...”把相应的库文件添加到相应文件夹下面,效果如下图第二张所示,(这里添加的仅仅是.c文件,至于.h文件在编译时自动添加其中),好,完成此步后,整个工程文件建立完毕,下面几步就是设置编译环境的参数了。

怎么在keil里建立头文件

如何在KEIL中编写模块化的C程序 默认分类2010-11-24 13:20:59 阅读43 评论1 字号:大中小订阅 在KEIL中的模块化程序写法在使用KEIL的时候,我们习惯上在一个.c的文件中把自己要写的东西按照自己思路的顺序进行顺序书写。这样是很普遍的写法,当程序比较短的时候比如几十行或者一百多行,是没有什么问题的。但是当程序很长的时候,比如你要用到LCD显示数据,就有几个LCD相关的函数,然后你想在LCD上显示温度,那么就要有DS18B20相关的操作,这又有几个相关的函数,如果你还想加上去DS1302的时间显示功能,那么又要多很多函数。这样的话一个程序下来几百行是很正常的事情,对于自己写的程序可能在自己的脑海中比较清晰,不会太乱,但是当把自己写的程序交给别人来看的时候,别人往往会看的云里雾里,经常会看着看着就不知道你写的是什么了。 如果大家写过类似电子钟这样的比较长的程序的话,肯定在网上下载过相关的程序看过,有没有觉得别人的程序看起来让自己觉得很郁闷呢?呵呵。现在我们来介绍一种在KEIL中C语言的模块写法。这样的写法其实也是很好用的,一些稍长的程序中经常见到。结构如下图所示: 是不是看起来不陌生?这就对了。其实如果学过PC机的C语言的话,对多文件的编译比较熟悉那么这个就不是什么问题了,因为这基本上是相同的。如果您是高手对此很熟悉的话,那么请略过本文;如果您是对此不是很熟悉并对此有点兴趣,那么本文或许对您有所帮助。如果在本文中有讲的不对的地方请跟帖提出。或者在我的主页给我留言进行交流。 因为这个教程不大容易用文字的形式来讲清楚,如果用视频来做的话效果应该好的多,但是俺没这个条件(俺普通话不好怕吓到大家,哈哈)。可能一帖会写不完,另外打字是件很痛苦的事情,所以这个请见谅。下面正式开始。 我们主的目的是学习模块化的写法,所以功能是次要的,熟悉了这个写法以后功能是大家自己控制的,我们现在将以LED灯的控制为例子讲起。 这样,我们先建立三个.c的文件,分别命名为main.c、delay.c和led_on.c,并将在建立文件的时候尽量做到看到文件名即能看出程序的功能,这样的话比较直观,不容易混乱。然后将这三个文件都添加进工程。(这个不能不会吧?) 在delay.c中我们加入如下代码: void delay1s() { unsigned int m,n; for(m=1000;m>0;m--) for(n=20;n>0;n--); } 当然这个延时函数的实际延时时间并不是一秒,我们暂且不用管它,知道他是起延时作用的就可以了。 在led_on.c这个文件中我们加入如下代码: void led_on() { P0=0x00; delay1s();

相关文档
最新文档