STM32新建工程所需文件介绍
刚开始接触STM32,第一件事情就是新建一个工程,建立的过程中各种复制粘贴,表示一脸懵逼
于是去查了一下建立工程时用到的文件都是干嘛的,为什么需要他们,做了一下简单粗略的整理。
首先,新建工程所需的文件都在固件库包中。据说可以在ST官网上找到。
然后我们打开它
新建工程需要用到的文件在Libraries和project中,然后其他的就先别去管他。我们来看libraries。
里面有两个文件夹,我们先看CMSIS
.CMSIS全称Cortex Microcontroller Software Interface Standard翻译过来是ARM Cortex™ 微控制器软件接口标准,为什么要有这个标准呢?
简单说是,ARM是一家做芯片标准的公司,它负责的是芯片内核的架构设计,然后其他公司根据它的内核标准设计自己的芯片,所以不同公司设计出来的芯片有不同的端口数量,串口数量,控制方法等等。 所以如果不硬性规定的话,他们也会按照自己的喜好写出不同风格的库函数,然后……..就爆炸了,换家公司的芯片就要重新弄库函数。
所以CMSIS 标准就强制规定,芯片生产公司设计的库 函数必须按照 CMSIS 这套规范来设计。
CMSIS标准包括对各个外设驱 动文件的文件名字规范化,以及函数名字规范化等等一系列规定。
接下来我们打开CMSIS。
看到一个CM3,这么取名是因为我们用的是Cortex-M3 芯片。
打开CM3
看到CoreSupport和DeivceSupport.
CoreSupport意思是核心支持(直译….),里面有两个文件(终于说到我们建立工程需要复制的文件了)。
core_cm3.c和core_cm3.h,这两个文件的作用是为那些采用 Cortex-M3 核设计的芯片外设提供一个进入M3内核接口。
DeivceSupport是设备支持(依旧直译….),
我们打开它
打开它
打开它(这个文件夹的名字含义是我们芯片的型号)
这个目录下的system_stm32f10x.c, system_stm32f10x.h 以及 stm32f10x.h 文件是我们需要复制过去的第二批文件。
stm32f10x.h是系统寄存器定义申明以及包装内存操作。
system_stm32f10x.c和system_stm32f10x.h 是设置系统以及总线时钟。
然后我们打开startup文件夹
打开arm文件夹
然后就看到了我们第三批需要复制的文件—启动文件,因为对应不同容量的芯片的启动文件不一样,所以我们只要需要根据自己的芯片在里面挑一个。
关于启动文件的作用:启动文件是任何处理器在上电复位后最先运行的一段汇编程序。在编写的c语言代码运行前建立一个合适的环境,接下来才能运行我们写的文件。
我们返回一开始的文件夹
现在来看一下STM32F10x_StdPeriph_Driver
StdPeriph Driver(standard peripheral)的意思是标准外围设备驱动。 里面包括两个文件夹(我们建立工程需要复制的第四批文件)
其中,inc(include)里面放的是stm32f10x_xxx.h头文件,src(source code)里面放的是stm32f10x_xxx.c固态库源码文件.这里的文件也是固件库的核心文件,每个外 设对应一组文件。
嗯,好像就是这些了。
STM32新建工程所需文件介绍相关推荐
- stm32新建工程(详细)
原文地址:http://blog.csdn.net/lbl1234 下载固件函数库 stm32标准外设库是stm32全系列芯片的外设驱动,有了它可以大大加速我们开发stm32. 首先从st公司 ...
- wince中的BSP工程的相关文件介绍
一.pbcxml分析 每一个BSP都有一个工程文件,比如MyBSP.pbcxml,里面描述了BSP的信息.下面就来介绍一下BSP的pbcxml文件. 文件的大致格式应该是这样的: &l ...
- C语言文件详解(一)文件介绍,文件打开和关闭
文章目录 一.文件介绍 1.1为什么使用文件 1.2什么是文件 1.3文件名 二.文件的打开和关闭 2.1文件指针 2.2文件的打开和关闭 一.文件介绍 1.1为什么使用文件 文件属于文件的一种,与普 ...
- linux系统日志文件介绍
原文出处:鸟哥笔记:linux系统日志文件介绍 简单的说日志文件就是记录系统活动信息的几个文件,例如:何时.何地(来源ip).何人(什么服务名称).做了什么操作.换句话说就是:记录系统在什么时候由哪个 ...
- IAR集成开发环境---ewdewpeww文件介绍
ewd&ewp&eww文件介绍 1.eww文件(workspace) 工程空间文件,不可删除.该文件是多个工程文件的索引,是打开IAR工程的文件.双击可以打开项目. 从该文件内容可知, ...
- 活动目录数据库文件介绍
活动目录中的数据库文件的介绍 活动目录数据库包含大量的核心基础数据,应该妥善保护,及时备份.活动目录数据库是"dit"格式的数据库,和Exchange Server使用的数据库格式 ...
- Opencascade源码学习之模型算法_TKO模块文件介绍
Opencascade源码学习之模型数据_TKO模块文件介绍 1.TKO 1.BOPAlgo 2.BOPDS 3.BOPTools 4.BRepAlgoAPI 5.IntTools 1.TKO 1.B ...
- 1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯
1. STM32 环境搭建 + STM32 新建工程 + Yinyuer(ZCY) 的 STM32 寄存器首次点灯 STM32 环境搭建 安装 keil5 下载安装芯片包 百度网盘 官网下载 安装芯片 ...
- lin通信ldf文件解析_LIN总线开发之LDF文件介绍
之前的文章大致介绍过LIN总线,本篇文章就来讲一下LIN Stack配置中比较关键的一个文件,就是LDF(LIN description file). 1.概述 LIN总线开发流程:图1 LIN总线开 ...
最新文章
- 安全研究人员最爱的12款Linux发行版
- POJ3080方法很多(暴力,KMP,后缀数组,DP)
- ajax 传递数组与接收
- su 与 sudo 区别
- a good way for improving my reading ability
- linux tar cvf_Linux中的Tar命令:Tar CVF和Tar XVF通过示例命令进行了解释
- Linux中MongoDB创建数据库
- [置顶]C++求平面最近点对
- 巧用eXeScope修改win2000外观
- Visio2016绘制框图的基本操作方法
- 如何用python裁剪图片
- 从壹开始前后端分离【重要】║最全的部署方案 最丰富的错误分析
- 再更新:2022 京东/淘宝双11活动一键自动完成任务脚本app来了,顺便说个事情...
- 如何卸载--奇安信安全终端管理系统
- 图解推导爬楼梯(跳台阶)问题详细过程
- Python卸载旧版本并安装新版本
- 软件或网站(学习 工作 生活)
- C语言实训职工工资系统模块,C语言实训报告模板-doc.doc
- CentOS 7虚拟机安装Oracle11g详解
- Mysql 根据身份证号码操作
热门文章
- uniapp自定义picker城市多级联动组件
- windows下libmodbus使用攻略
- extjs6 基础组件扩展和自定义组件封装--02目录结构
- 如何使用单片机点亮LED灯,并使用按键控制[51单片机]
- 梦幻西游最稳定服务器,《梦幻西游》第四十九次服务器合并投票结果公告
- 两个字与三个字对齐html,最简单的方法实现: 两个字的名字与三个字的名字对齐...
- Linux下驱动SD/MMC读卡器(转)
- python编程 从入门到实践 第九章 类(上)
- 【Node.js】Windows环境安装配置NVM和Node.js
- gtest里面的断言EXPECT_EQ和ASSERT_EQ的区别