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环境下,引用库函数的工程文件的配置方法的更多相关文章

  1. .net环境下ckeditor与ckfinder中文文件链接乱码的问题

    .net环境下ckeditor与ckfinder中文文件链接乱码的问题 将ckfinder.js中的getUrl:function(){return this.folder.getUrl()+enco ...

  2. Windows环境下用C#编程将文件上传至阿里云OSS笔记

    Windows环境下用C#编程将文件上传至阿里云OSS笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/detai ...

  3. VS2010环境下用ANSI C创建DLL和使用方法(转)

    源:VS2010环境下用ANSI C创建DLL和使用方法 . 创建DLL工程 1.2 创建一个dll工程. 操作:a.文件->新建->项目->Win32控制台应用程序. b.输入工程 ...

  4. (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤

    Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤 标签: NodeJSnpmbower 2015-07-17 16:38 3016人阅读 评论(0) 收藏 举报  分类: G ...

  5. Linux环境下使用VSCode编译makefile文件的注意事项

    Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...

  6. linux环境下删除包含特殊字符的文件或目录

    linux环境下删除包含特殊字符的文件或目录 ls -liUse find command as follows to delete the file if the file has inode nu ...

  7. 转:Linux环境下段错误的产生原因及调试方法小结

    源地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 补充:http://baike.baidu.com/link ...

  8. node环境下:node_modules里面的文件

    node环境下:node_modules里面的文件 package.json来制定名单,需要哪些npm包来参与到项目中来,npm install命令根据这个配置文件增减来管理本地的安装包. depen ...

  9. Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...

随机推荐

  1. linux3.0.4编译LDD中的scull全过程

    按照惯例,我是应该先写一些本章的收获的,不过太晚了. 在看完第三章之后开始编译,错误一堆,几乎崩溃,幸亏经过不断的百度,总算解决了问题,我发现 我遇到问题比较多,算是集中七个龙珠了吧,感谢先行的大神们 ...

  2. HW7.14

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. HDU ACM 1325 / POJ 1308 Is It A Tree?

    Is It A Tree? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. easyui dialog遮罩层

    当dialog在一个iframe里时,此dialog的遮罩层也会只覆盖这个iframe,要想覆盖整个页面,就把dialog写到最外层的父页面中去,此时dialog的遮罩层会自动覆盖整个页面,若需要从子 ...

  5. Clean Code第三章<函数>

    1.方法不要写太长,如果太长,抽取其中的逻辑到新的方法中 bad good 2.函数只做一件事 如果做了多件事,要在方法名里体现出来 3.每个函数一个抽象层级 4.函数名可以长一些,比长注释好 5.方 ...

  6. C# 获取某月的第一天和最后一天

    /// <summary>        /// 取得某月的第一天        /// </summary>        /// <param name=" ...

  7. 关于VBox安装GhostXP出现蓝屏processr.sys 的解决办法

    用VirtualBox虚拟系统安装了一个Ghost XP SP3,还原系统后,重启进入Windows XP时,出现蓝屏提示processr.sys, 蓝屏代码为0x000000CE提示处理器驱动文件问 ...

  8. Qt Creator无法用“UTF-8”编码解码

    在Qt Creator 里打开其他编辑器的代码时有时会提示: 无法用"UTF-8"编码解码     在文件上右键使用NotePad++编辑器打开:     选择->格式-&g ...

  9. uva 10056 - What is the Probability ?(概率)

    题目连接:uva 10056 - What is the Probability ? 题目大意:给出n和p以及m,表示有n个人在丢色子, 谁先丢到某个值就表示胜利,每个人丢到的胜利数值的概率都为p,问 ...

  10. SQL Server中行列转换

    典型实例 一.行转列 1.建立表格 ifobject_id('tb')isnotnulldroptabletb go createtabletb(姓名varchar(10),课程varchar(10) ...