2.3 编辑工程文件
新建立完成空白工程文件“STM32-DEMO”后,Keil μVision的运行界面如图2-12所示。在左侧显示的工程信息中,缺省的设备名称为“Target 1”,并包含一个名称为“Source Group 1”的子文件夹。单击软件“File”菜单的“Save All”子项,保存工程所有信息。
图2-12 在Keil μVision中建立的空白工程
利用 Windows操作系统自带的资源管理器或者类似的软件工具查看生成的文件,如图2-13所示。其中“STM32-DEMO.uvproj”为工程文件,其余文件可不予关注。
图2-13 空白工程及对应的资源文件
在工程“STM32-DEMO”所在的目录下新建3个文件夹,名称分别为“USER”、“LIB”和“OUTPUT”。3个文件夹分别用来保存用户提供的文件、芯片库文件、以及Keil μVision生成的文件,如图2-14所示。
图2-14 在工程目录中增加3个文件夹及相关文件
在“USER”文件夹中新建一个 C语言文件 main.c,并编写代码(表2-1),该代码调用库函数初始化芯片后,进入一个无穷循环。
表2-1 包含芯片初始化的最小程序
在LIB文件中加入如表2-2所示的芯片库文件,共有53个。文件可以从芯片制造商的官方网站www.st.com中下载。
表2-2 芯片库文件
续表
续表
文件夹“OUTPUT”用于存储软件Keil μVision生成的文件。
在Keil μVision中,右击左侧设备“Target 1”,在弹出的菜单中选择“Manage Components...”,如图2-15所示,将弹出组件管理对话框。
图2-15 管理工程文件组件
在组件管理对话框的第1列中,修改工程目标为“STM32-DEMO”,并单击“Set as Current Target”。在第2列中新建3个条目,名称分别为“USER”,“LIB”和“OUTPUT”。之后在第2列中单击条目“USER”,然后单击第3列下方的“Add Files”按钮,选择工程文件目录下“USER”文件夹中的全部文件并添加。
按照同样的方式,第2列中单击条目“LIB”,然后单击第3列下方的“Add Files”按钮,选择工程文件目录下“USER”文件夹中的全部文件并添加。配置完成后的界面如图2-16所示,单击“OK”按钮后关闭对话框。
图2-16 组件管理对话框
为了使用程序可以正确找到库文件,在Keil μVision左侧的项目栏中右键单击“STM32-DEMO”,之后在弹出的菜单中选择“Options for Target‘STM32-DEMO'...”,如图2-17所示,弹出的对话框如图2-18所示。
图2-17 启动修改目标选项的对话框
图2-18 设置Target标签页的参数
在图2-18中,选中“Use MicroLIB”复选框,然后切换到“Output”标签页,如图2-19所示。
图2-19 设置Output标签页的参数
在图2-19中,单击“Select Folder for Objects...”,选择工程文件夹中的“OUTPUT”目录。选中“Create HEX File”复选框,切换到“C/C ++ ”标签页,如图2-20所示。
图2-20 设置C/C + + 标签页的参数
在图2-20中,添加预定义的项“USE_STDPERIPH_DRIVER”。并且在“Include Paths”文本框中,添加工程目录中的“LIB”文件夹,完成后即可以在“Compiler control string”文本框中看到“.\LIB”字符串。
单击不同的标签页,切换到“Debug”标签页,如图2-21所示。选择使用J-LINK仿真器“Cortex-M/R J-LINK/J-Trace”。
图2-21 设置Debug标签页的参数
在图2-21中单击设置仿真器参数的按钮“Settings”,将弹出设置仿真器参数的对话框,如图2-22所示。
图2-22 设置仿真器的参数
在设置仿真器参数的对话框中,选中“Reset and Run”,则程序烧写入芯片后会自动运行。单击“Add”按钮,添加适合于芯片的烧写算法,选择适用于STM32F103VBT7的烧写算法,如图2-23所示。
图2-23 选择仿真器使用的烧写算法的对话框
由于项目中使用的芯片是 STM32F103VBT7,芯片内的FLASH存储容量为128 k,所以选择“STM32F10x Med-density Flash”。
在设置完成“Debug”标签页之后,切换到“Utilities”标签页,选择使用J-LINK仿真器“Cortex-M/R J-LINK/J-Trace”,如图2-24所示。
图2-24 设置Utilities标签页的参数
设置完成参数后,在软件用户界面左侧的项目栏中双击“main.c”文件,程序界面如图2-25所示,可以对 main.c文件进行编辑和修改。单击工具栏中的“Rebuild”按钮,可以对工程中所有代码进行编译,结果将显示在软件界面的下方。当代码正确且编译、链接完成后,将产生可供烧写的文件。
图2-25 编辑文件代码并编译程序