刚开始接触STM32,第一件事情就是新建一个工程,建立的过程中各种复制粘贴,表示一脸懵逼

于是去查了一下建立工程时用到的文件都是干嘛的,为什么需要他们,做了一下简单粗略的整理。

首先,新建工程所需的文件都在固件库包中。据说可以在ST官网上找到。

然后我们打开它

新建工程需要用到的文件在Librariesproject中,然后其他的就先别去管他。我们来看libraries

里面有两个文件夹,我们先看CMSIS

.CMSIS全称Cortex Microcontroller Software Interface Standard翻译过来是ARM Cortex™ 微控制器软件接口标准,为什么要有这个标准呢?

简单说是,ARM是一家做芯片标准的公司,它负责的是芯片内核的架构设计,然后其他公司根据它的内核标准设计自己的芯片,所以不同公司设计出来的芯片有不同的端口数量,串口数量,控制方法等等。 所以如果不硬性规定的话,他们也会按照自己的喜好写出不同风格的库函数,然后……..就爆炸了,换家公司的芯片就要重新弄库函数。

所以CMSIS 标准就强制规定,芯片生产公司设计的库 函数必须按照 CMSIS 这套规范来设计。

CMSIS标准包括对各个外设驱 动文件的文件名字规范化,以及函数名字规范化等等一系列规定。

接下来我们打开CMSIS

看到一个CM3,这么取名是因为我们用的是Cortex-M3 芯片。

打开CM3

看到CoreSupportDeivceSupport.

CoreSupport意思是核心支持(直译….),里面有两个文件(终于说到我们建立工程需要复制的文件了)。

core_cm3.ccore_cm3.h,这两个文件的作用是为那些采用 Cortex-M3 核设计的芯片外设提供一个进入M3内核接口。
DeivceSupport是设备支持(依旧直译….),
我们打开它

打开它

打开它(这个文件夹的名字含义是我们芯片的型号)

这个目录下的system_stm32f10x.c, system_stm32f10x.h 以及 stm32f10x.h 文件是我们需要复制过去的第二批文件。

stm32f10x.h是系统寄存器定义申明以及包装内存操作。
system_stm32f10x.csystem_stm32f10x.h 是设置系统以及总线时钟。

然后我们打开startup文件夹

打开arm文件夹

然后就看到了我们第三批需要复制的文件—启动文件,因为对应不同容量的芯片的启动文件不一样,所以我们只要需要根据自己的芯片在里面挑一个。

关于启动文件的作用:启动文件是任何处理器在上电复位后最先运行的一段汇编程序。在编写的c语言代码运行前建立一个合适的环境,接下来才能运行我们写的文件。

我们返回一开始的文件夹

现在来看一下STM32F10x_StdPeriph_Driver
StdPeriph Driver(standard peripheral)的意思是标准外围设备驱动。 里面包括两个文件夹(我们建立工程需要复制的第四批文件)

其中,inc(include)里面放的是stm32f10x_xxx.h头文件,src(source code)里面放的是stm32f10x_xxx.c固态库源码文件.这里的文件也是固件库的核心文件,每个外 设对应一组文件。

嗯,好像就是这些了。

STM32新建工程所需文件介绍相关推荐

  1. stm32新建工程(详细)

    原文地址:http://blog.csdn.net/lbl1234 下载固件函数库 stm32标准外设库是stm32全系列芯片的外设驱动,有了它可以大大加速我们开发stm32.     首先从st公司 ...

  2. wince中的BSP工程的相关文件介绍

    一.pbcxml分析         每一个BSP都有一个工程文件,比如MyBSP.pbcxml,里面描述了BSP的信息.下面就来介绍一下BSP的pbcxml文件. 文件的大致格式应该是这样的: &l ...

  3. C语言文件详解(一)文件介绍,文件打开和关闭

    文章目录 一.文件介绍 1.1为什么使用文件 1.2什么是文件 1.3文件名 二.文件的打开和关闭 2.1文件指针 2.2文件的打开和关闭 一.文件介绍 1.1为什么使用文件 文件属于文件的一种,与普 ...

  4. linux系统日志文件介绍

    原文出处:鸟哥笔记:linux系统日志文件介绍 简单的说日志文件就是记录系统活动信息的几个文件,例如:何时.何地(来源ip).何人(什么服务名称).做了什么操作.换句话说就是:记录系统在什么时候由哪个 ...

  5. IAR集成开发环境---ewdewpeww文件介绍

    ewd&ewp&eww文件介绍 1.eww文件(workspace) 工程空间文件,不可删除.该文件是多个工程文件的索引,是打开IAR工程的文件.双击可以打开项目. 从该文件内容可知, ...

  6. 活动目录数据库文件介绍

    活动目录中的数据库文件的介绍 活动目录数据库包含大量的核心基础数据,应该妥善保护,及时备份.活动目录数据库是"dit"格式的数据库,和Exchange Server使用的数据库格式 ...

  7. Opencascade源码学习之模型算法_TKO模块文件介绍

    Opencascade源码学习之模型数据_TKO模块文件介绍 1.TKO 1.BOPAlgo 2.BOPDS 3.BOPTools 4.BRepAlgoAPI 5.IntTools 1.TKO 1.B ...

  8. 1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯

    1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯 STM32 环境搭建 安装 keil5 下载安装芯片包 百度网盘 官网下载 安装芯片 ...

  9. lin通信ldf文件解析_LIN总线开发之LDF文件介绍

    之前的文章大致介绍过LIN总线,本篇文章就来讲一下LIN Stack配置中比较关键的一个文件,就是LDF(LIN description file). 1.概述 LIN总线开发流程:图1 LIN总线开 ...

最新文章

  1. 安全研究人员最爱的12款Linux发行版
  2. POJ3080方法很多(暴力,KMP,后缀数组,DP)
  3. ajax 传递数组与接收
  4. su 与 sudo 区别
  5. a good way for improving my reading ability
  6. linux tar cvf_Linux中的Tar命令:Tar CVF和Tar XVF通过示例命令进行了解释
  7. Linux中MongoDB创建数据库
  8. [置顶]C++求平面最近点对
  9. 巧用eXeScope修改win2000外观
  10. Visio2016绘制框图的基本操作方法
  11. 如何用python裁剪图片
  12. 从壹开始前后端分离【重要】║最全的部署方案 最丰富的错误分析
  13. 再更新:2022 京东/淘宝双11活动一键自动完成任务脚本app来了,顺便说个事情...
  14. 如何卸载--奇安信安全终端管理系统
  15. 图解推导爬楼梯(跳台阶)问题详细过程
  16. Python卸载旧版本并安装新版本
  17. 软件或网站(学习 工作 生活)
  18. C语言实训职工工资系统模块,C语言实训报告模板-doc.doc
  19. CentOS 7虚拟机安装Oracle11g详解
  20. Mysql 根据身份证号码操作

热门文章

  1. uniapp自定义picker城市多级联动组件
  2. windows下libmodbus使用攻略
  3. extjs6 基础组件扩展和自定义组件封装--02目录结构
  4. 如何使用单片机点亮LED灯,并使用按键控制[51单片机]
  5. 梦幻西游最稳定服务器,《梦幻西游》第四十九次服务器合并投票结果公告
  6. 两个字与三个字对齐html,最简单的方法实现: 两个字的名字与三个字的名字对齐...
  7. Linux下驱动SD/MMC读卡器(转)
  8. python编程 从入门到实践 第九章 类(上)
  9. 【Node.js】Windows环境安装配置NVM和Node.js
  10. gtest里面的断言EXPECT_EQ和ASSERT_EQ的区别