购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

任务五
你的第一个程序

图1.19 添加文件

项目文件创建后,这时只有一个框架,紧接着需要向项目文件中添加程序文件内容。Keil uVision支持C语言程序。可以是已经建立好的程序文件,也可以是新建的程序文件。如果是建立好了的程序文件,则直接用后面的方法添加;如果是新建立的程序文件,则先将程序文件.c存盘后再添加。

首先,先添加启动代码(汇编文件):cortexm3_macro.s,stm32f10x_vector.s。右键单击“Source Group 1”,单击“Add Files to Group‘Source Group 1’”,如图1.19所示。

在弹出的对话框中选择文件类型,然后选中 两个启动代码,单击“Add”按钮添加进工程文件中,再单击“Close”关闭此对话框,如图1.20所示。

图1.20 添加启动代码

文件添加到项目文件中去后,这时“Source Group 1”的前面将出现一个“+”号。单击“+”,展开“Source Group 1”目录,如图1.21所示。

这时可以添加已经建立好的程序文件,如图1.22所示。如果是新建立的程序文件,则先将程序文件.c存盘后再添加。

图1.21 加入启动文件后的工程

图1.22 加入启动文件后的工程

单击 按钮(或通过“File→New”操作)为该项目新建一个C语言程序文件。将该例程键入到Keil uVision IDE的编辑器中,并以文件名HelloRobot.c保存。

例程:HelloRobot.c

将文件保存在项目文件夹HelloRobot中,在文件类型中填写.c(这里.c为文件扩展名,表示此文件类型为C语言源文件),如图1.23所示。

图1.23 C语言源文件保存对话框

下一步就是添加该文件到目标工程项目了,其具体添加过程如下。

(1)单击“+”,展开“Source Group 1”目录,然后右键单击“Source Group 1”,在出现的菜单下选择“Add File To Group‘Source Group 1’”,如图1.24所示。出现Add Files to Group Source‘Group1’对话框。在该对话框中选择需要添加的程序文件:HelloRobot.c,单击Add按钮,把所选文件添加到项目文件中。一次可添加多个文件。

(2)程序文件添加到项目文件中去后,如图1.25所示(注意:图中显示的文件名是刚才输入的文件名)。

图1.24 添加文件

图1.25 添加C语言文件到目标工程中

双击源文件即可显示源文件的编辑界面,如图1.26所示。

图1.26 源文件的编辑界面

下面来产生下载需要的可执行文件。图1.27表示编译的几种方式,图1.27(a)的“Translate current file”表示仅编译当前源文件;图1.27(b)的“Build target”表示编译整个工程文件,编译时仅编译修改了的或新的源文件;图1.27(c)的“Rebuild all target files”表示重新编译整个工程文件,工程中的文件不管是"否修改,编译时都将重新编译。

图1.27 编译工程文件的几种方式

一般地,我们单击Keil uVision IDE快捷工具栏中的 ,编译整个工程文件,如图1.28所示。Keil的C编译器根据要生成的目标文件类型对目标工程项目中的C语言源文件进行编译。编译过程中,可以观察到源文件中有没有错误产生,如果没有错误产生,在IDE主窗口的下面出现“0 Error(s),0 Warning(s)”提示信息,表明已成功生成了可执行文件,并存储在HolloRobot目录中。

图1.28 编译过程的输出信息

查看HelloRobot目录,你会发现生成了HelloRobot.axf文件。axf(arm excute file)是ARM芯片使用的文件格式,它包含bin代码外,还包括了调试信息。与axf文件相似,单片机系统开发经常也会用到hex文件,hex文件包括地址信息,可直接用于烧写或下载。

如要产生可执行的.hex文件,需要对目标工程“Target 1”进行编译设置,右键单击“Target 1”,选择“Option for target‘Target 1’”。单击“Output”,选择其中的“Create HEX File”,如图1.29所示,单击OK按钮确定,关闭设置窗口。

再次单击Keil uVision IDE快捷工具栏中的 ,Keil的C编译器开始根据要生成的目标文件类型对目标工程项目中的C语言源文件进行编译。这时HelloRobot目录中,你会发现生成了HelloRoBot.hex文件。

图1.29 设置目标工程的编译输出文件类型 5nntokN4GdSsmbAVtjeOz4H+5tIewFsXEVLoRBEW9Ozhla5FQNm6muUlC7Dik1OA

点击中间区域
呼出菜单
上一章
目录
下一章
×