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. phpcms V9实现QQ登陆OAuth2.0

    phpcmsV9使用的QQ登陆依然是OAuth1.0,但现在腾讯已经不审核使用OAuth1.0的网站了.这对于使用pc的站长来讲是一个无比巨大的坑.经过对phpcms论坛的一位同学做的插件进行修改,现 ...

  2. Ruby on Rails vs. PHP vs. Python

    开发者在开发web应用时,往往会对平台的选择感到困惑,而web专家通常会建议:要考虑几个因素,这些因素包括周转时间.质量.跨浏览器兼容性.与其他框架的整合.数据安全性.易于访问性等. 在考虑了这些因素 ...

  3. Python程序的混淆和加密

    混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. 如果你觉得有用, 可以购买离线版本.同时需要注意的是, 这个混淆其实还是被很多人怀疑的, 因为即使混淆了, ...

  4. linux硬件时间修改与查看

    linux修改时间和日期.查看修改硬件时间 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的 ...

  5. 动软代码生成与 EntityFramework 实体生成模板

    有用到EntityFrameWork的同学们,可以用用. 实体工程中添加EF6的dll 还有 ValidBox4Mvc.ValidRules.dll应用到项目中,此dll下载地址:http://www ...

  6. LDR指令的格式:

    http://blog.csdn.net/tanyouliang/article/details/6767011 LDR指令的格式: LDR{条件}   目的寄存器     <存储器地址> ...

  7. 用UltraISO制作的u盘ubuntu11.04,启动失败解决方案

    错误提示:SYSLINUX 3.84 2009-12-18 EBIOS Copyright c 1994-2009 H.Peter Anvin et al 折腾的很久,尝试用Pauly的bootice ...

  8. Linux下修改hostname

    我维护两三个机房的数十台机器,开发用机器,运营用机器,自己工作机器也是ubuntu,有时开很多ssh,干的还是同样的事情,很容易搞混.所以需要一目了然的知道某台机器的情况,避免犯晕.这就需要修改主机名 ...

  9. 如何在tomcat安装部署php项目

    java开发者都知道,tomcat是用来部署java web项目的.前几天老k偶然得知PHP/Java Bridge,通过它可以实现在jsp和php之间共享session,详见<如何实现jsp和 ...

  10. OC键值观察KVO

    什么是KVO? 什么是KVO?KVO是Key-Value Observing的简称,翻译成中文就是键值观察.这是iOS支持的一种机制,用来做什么呢?我们在开发应用时经常需要进行通信,比如一个model ...