stm32建立标准的工程模板
如何建立一个标准的工程模板,我用的是stm32F103C8芯片的
建立标准的工程模板
1.新建一个Template0文件夹,创建好后在该文件目录下分别创建CORE 、FWLIB、OBJ、SYSTEM、USER等五个子文件;
CORE:用来存放核心文件和启动文件;
FWLIB:用来存放库函数源码文件;
OBJ:用来存放编译过程文件和hex文件;
SYSTEM:用来存放共用代码;
USER:用来存放工程文件和主程序main。
2.接下来打开keil5MDK,在USER目录下新建一个工程,取名为Template0;
之后再选择自己开发板上芯片的型号(要提前安装好对应的器件包),因为我是自己买的一个最小系统板,所以这里我选择的芯片是stm32F103C8
之后会出现一个安装组件画面,直接取消就好了。
这时候打开USER目录,有新生成的几个文件和文件夹,我们可以不用理。
3.现在打开下载好的官方固件库,定位到D:\桌面\stm32标准库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下,把目录下的src和inc复制到我们刚新建的FWLIB下。
src存放的是固件库的.c文件,inc存放的是固件库的.h文件。
4.同样定位到D:\桌面\stm32标准库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport将下面的两个文件复制到COER下
再定位D:\桌面\stm32标准库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm讲相关的启动文件同样复制到COER目录下,这里我查了相关资料,我所用的芯片是中容量,闪存为64K的,所以把后缀名为md.s的复制过去。
5.再定位到D:\桌面\stm32标准库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x将下面的三个文件复制到USER目录下
然后再定位到D:\桌面\stm32标准库\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template将下面的四个文件同样复制到USER下
6.前面的几个步骤,我们已经将我们需要的文件从固件库复制到我们的工程目录下了,接下来打开keil5,将这些文件加入我们的工程中
I.新建跟我们文件夹相同名字的源组
添加所需的文件(注意core那要加入启动文件的,文件类型是.s,到时注意更改)
7.之后编译文件,在这之前设置我们编译过程的中间文件放在OBJ文件夹下(魔术棒setting那可以设置)
8.之后在魔术棒下添加头文件(定位到inc目录下)
9.配置宏定义变量,因为我是中容量,所以是MD,可以根据那个启动文件来改。
10.再将老师提供的实验例程下SYSTEM下的文件夹复制到我们的文件夹下,在MDK中用同样的方法加入.c和.h文件,然后一个标准的工程模板就建好了。
好了,已经建立好一个标准的工程模板了。
stm32建立标准的工程模板相关推荐
- STM32的标准库及其使用
单片机的开发工作量,主要集中在两个地方,一是调通各种外设,二是实现产品功能. 像较高级的语言,比如c++/java/python等.因为将底层操作进行了封装,所以只需要集中关注第二点.事实上,越到后, ...
- 将STM32的标准库编译成lib
转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...
- 【STM32】标准库与HAL库对照学习教程八--串口通信详解
[STM32]标准库与HAL库对照学习教程八--串口通信详解 一.前言 二.准备工作 三.通信的基本概念 1.通信方式 2.串行通信与并行通信 (1)串行通信 (2)并行通信 3.异步通信与同步通信 ...
- 移植好U8g2图形库的STM32F407标准库工程模板,0.96寸OLED驱动程序
移植好U8g2图形库的STM32F407标准库工程模板,用的0.96寸OLED屏(SSD1306),用硬件IIC驱动. 花了一晚上时间去移植.开发板主控MCU用的是STM32F407VET6,I2C接 ...
- VB无所不能之五:建立“标准”DLL动态链接库文件(1)
VB无所不能之五:建立"标准"DLL动态链接库文件(1) --作者:钟声 博客地址:http://useway.blog.51cto.com 动态链接库经常被认为是VC或者Deph ...
- 浪潮服务器建立虚拟驱动器,像《十二时辰》一样去建立标准! 浪潮这款服务器做到了...
原标题:像<十二时辰>一样去建立标准! 浪潮这款服务器做到了 这个夏天,<长安十二时辰>制霸屏幕 开画至今豆瓣评分达到8.8分 现已成功"出海" 在Amaz ...
- stm32F051系列教程 前哨篇 建立一个KEIL工程模板
前哨篇:如何建立一个KEIL工程模板 本节的内容主要针对的是初学者,有个熟练使用KEIL建立ARM工程项目的朋友可以略过: 首先大家安装KEIL for arm 4.3版本以上后,找到桌面的keil图 ...
- 【ArcGIS风暴】CASS建立标准分幅图框并在ArcGIS中DOM批量分幅案例教程
文章目录 一.CASS建立标准格网 二.ArcGIS中批量格网分幅 1. 加载数据 2. 图幅编号连接属性表 2. 批量分幅 一.CASS建立标准格网 参照:[CASS精品教程]CASS9.1生成标准 ...
- 【STM32】标准库与HAL库对照学习教程六--位带操作
[STM32]标准库与HAL库对照学习教程六--位带操作 一.前言 二.准备工作 三.位带介绍 1.位带操作 2.STM32位带及位带别名区域 四.位带区与位带别名区地址转换 五.GPIO的位带操作 ...
最新文章
- React文档 state and lifecycle
- MIME types [记录]
- spring+mybatis+atomikos 实现JTA事务
- oracle软件静默安装程序,【oracle】静默安装 oracle 11gr2
- java等待5秒_Java并发编程-主线程等待子线程解决方案
- 数据库复习总结(4)-数据库的分离、附加、脚本的创建
- 手把手教你实现机器学习SVM算法
- 【渝粤教育】国家开放大学2018年秋季 0727-22T思想道德修养与法律基础 参考试题
- 基于SSM的MSDN资源发布网站
- 各浏览器下图片垂直居中的方法:
- Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog
- vscode超好玩好用的插件
- 集成谷歌地图不显示的问题
- python 进行文本情感分析
- 有趣的java编程题_java编程题 有趣的数
- Linux 脚本部署应用宝,应用宝新版继续整合资源,腾讯移动分发再加力
- 测试温度时共模电压的考虑
- 不同开发语言之Python、Java、Golang对比
- QT入门第一天平台使用规则和代码逻辑学习(初学者)
- Python 超简单爬取微博热搜榜数据