stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法
stm32做开发很方便的一个原因是大家可以稍稍放松对于硬件寄存器等的设置,因为stm32有了非常丰富和实用的库函数,外设文件等等,所以我们在使用的时候可以更加关注程序开发的过程和逻辑关系。但是,在开发项目的时候,我们需要自己去根据需求配置工程文件,前些日子,自己建立工程,然后去引用提供的库函数总是出错,但有找不出原因,所以昨天专门花了点时间研究了工程文件的结构,今天就来介绍一下如何配置自己的工程文件。
准备:1.基础的函数文件 core_cm3.h,core_cm3.c,sysytem_stm32f10x.h,sysytem_stm32f10x.c
2.自己所需要用到的外设的库函数,比如我们这里做蜂鸣器,则需要stm32f10x_gpio.c、stm32f10x_gpio.h、stm32f10x_rcc.c、stm32f10x_rcc.h。
3.自己的main.c函数
项目简历过程:
- 在Project菜单中选择create new project,点击确定,进入项目存储界面,选择新建文件夹,建立自己的工程文件夹。如图。点击打开,输入工程的名字,保存。

- 点击文件的全部保存,这个时候会让你选择保存工作区,输入工作区的名字beep,点击保存
- 在左侧工作区点击添加组(右击->Add->Group),简历讲个工作组,一个是CMSIS(名字不固定,但建议为cmsis,用来存放基础的函数文件),另外一个是PERIPH_DRIVER(名字不固定,但建议为PERIPH_DRIVER,存放外设函数文件)。
- 向CMSIS中添加两个函数(右击->Add->File),一个是 core_cm3.c和System_stm32f10x.c。向PERIPH_DRIVER中添加stm32f10x_gpio.c和stm32f10x_rcc.c两个文件。
- 在空白处添加main.c文件(右击->Add->File)。到目前为止,工程的基础框架基本搭建完毕,剩下的是设置某些选项来配置工程文件。
- 右击项目名称,选择Option选项,出现下面的页面

- 在device中选择ST->STM32F10XXC,其他默认设置
- 点击左侧的c/c++complier,选择language选项,设置如下:

- 接下来设置的是重点。选择Preprocessor,在“Additional include dreectories(one per line)”中需要填写用到的头文件的地址。即core_cm3.h, sysytem_stm32f10x.h, stm32f10x_rcc.h .stm32f10x_gpio.h的地址,这里注意,地址书写时以.eww的工程文件为根的,$PROJ_DIR$代表.eww工程文件所在的目录, \..\表示上一级菜单。以core_cm3.h为例,他在.eww文件的上一级上一级的Libraries\CMSIS\CM3\CoreSupport菜单下,那我在文件里应该写$PROJ_DIR$\..\..\Libraries\CMSIS\CM3\CoreSupport。其余的自己可以按照这种方式添加上去。

- 其他的设置基本上就是默认就可以了,如果你是用板子实际的调试程序则可以再debugger中选择T-Linker/T-Trace,如果是模拟调试则选择Similator。(其他设置的详细信息请百度)
- 到这里,一个完整的工程文件基本就可以了,这里主要讲的是如何搭建工程文件的框架,如果在配置工程文件(Option)的过程中不够详细,请百度。运行后的界面如下。我也是刚刚开始学习,所以那里有理解不对的地方,希望批评指正。

stm32f107vc在IAR环境下,引用库函数的工程文件的配置方法的更多相关文章
- .net环境下ckeditor与ckfinder中文文件链接乱码的问题
.net环境下ckeditor与ckfinder中文文件链接乱码的问题 将ckfinder.js中的getUrl:function(){return this.folder.getUrl()+enco ...
- Windows环境下用C#编程将文件上传至阿里云OSS笔记
Windows环境下用C#编程将文件上传至阿里云OSS笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/detai ...
- VS2010环境下用ANSI C创建DLL和使用方法(转)
源:VS2010环境下用ANSI C创建DLL和使用方法 . 创建DLL工程 1.2 创建一个dll工程. 操作:a.文件->新建->项目->Win32控制台应用程序. b.输入工程 ...
- (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤
Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤 标签: NodeJSnpmbower 2015-07-17 16:38 3016人阅读 评论(0) 收藏 举报 分类: G ...
- Linux环境下使用VSCode编译makefile文件的注意事项
Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...
- linux环境下删除包含特殊字符的文件或目录
linux环境下删除包含特殊字符的文件或目录 ls -liUse find command as follows to delete the file if the file has inode nu ...
- 转:Linux环境下段错误的产生原因及调试方法小结
源地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 补充:http://baike.baidu.com/link ...
- node环境下:node_modules里面的文件
node环境下:node_modules里面的文件 package.json来制定名单,需要哪些npm包来参与到项目中来,npm install命令根据这个配置文件增减来管理本地的安装包. depen ...
- Linux下用rm删除的文件的恢复方法
Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...
随机推荐
- extjs 学习笔记(二)
EXTJS实用开发指南 1. 要使用ExtJS 框架的页面中一般包括下面几句: <link rel="stylesheet" type="text/css" ...
- CDH4.1基于Quorum-based Journaling的NameNode HA
几个星期前, Cloudera发布了CDH 4.1最新的更新版本,这是第一个真正意义上的独立高可用性HDFS NameNode的hadoop版本,不依赖于特殊的硬件或外部软件.这篇文章从开发者的角度来 ...
- Ajax禁止缓存的几个解决方案
最常用的方法是 方法1:服务器端代码加入 代码如下 复制代码 response.setHeader("Cache-Control", "no-cache, must-r ...
- 第三百五十八天 how can I 坚持
万事要有度,不要话唠,也不能不说,把握好分寸,今天貌似又说多了. 加了天班,理了个发,还有老爸明天来北京. 还有同学聚会没去,还有金龙让去吃鱼,没去. 还有.小米视频通话还行,能远程控制桌面, 还有, ...
- cocos2dx移植android平台-我的血泪史
版权声明:本文由( 小塔 )原创,转载请保留文章出处! 本文链接:http://www.zaojiahua.com/android-platform.html 本人这几天一直都没有跟新自己的网站内容, ...
- Linux下的sed流编辑器命令详解
sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内 ...
- HD1005Number Sequence
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- Debugging Information in Separate Files
[Debugging Information in Separate Files] gdb allows you to put a program's debugging information in ...
- IIS中的上传目录权限设置问题
虽然 Apache 的名声可能比 IIS 好,但我相信用 IIS 来做 Web 服务器的人一定也不少.说实话,我觉得 IIS 还是不错的,尤其是 Windows 2003 的 IIS 6(马上 Lon ...
- emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing
emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...