| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 使用ST官方外设库新建工程模板 -> 正文阅读 |
|
[嵌入式]使用ST官方外设库新建工程模板 |
1、首先我们建立一个模板文件夹DEMO,在此文件夹中新建4个文件夹,分别为Output、Project、User、Libraries。 注:关于库文件的分析请查看如下链接: 2、在Libraries文件夹中新建CMSIS、FWLIB两个文件夹 3、 将库文件中的下列文件复制到CMSIS文件夹中 STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.h STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm中的startup_stm32f10x_hd.s ?4、 将库文件中的下列文件夹复制到文件夹中FWLIB文件夹中 STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver文件夹中的 inc和src文件夹 ? 5、在DEMO文件夹中新建一个文本文档,在文档中输入如下内容,并更改文件名称为“keilkill.bat”(一定要将扩展名更改为.bat,此部分代码是从它处摘录过来的,非原创)
6、将库函数STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template目录下的main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h这4个文件复制到模板“DEMO\User”文件夹中 7、打开Keil uVision5,在“DEMO\Project”文件夹下新建一个工程,取名叫Demo。 ? (如果是第一次使用的话会打开一个自带的工程文件,我们可以通过工具栏 ? ?Project->Close Project 选项把它关掉) ? 这里我们以STM32F103RC为例 8、接下来我们为工程添加必要的文件,在Keil uVision5的项目管理器中,右键单击Target 1,选择“Manage Project Items” 6、在组件窗口中,双击最左侧Target 1,更改名称为DEMO,在Groups中删除原有组,新建CMSIS、FWLB、USER这几个组。 7、下面我们向组中添加文件,点击选中User,在最后面一栏Files栏下方点击添加文件,添加文件路径如下 DEMO\User文件夹下的:main.c、stm32f10x_it.c main.c:用户主函数 stm32f10x_it.c:中断服务函数 8、点击选中FWLB,点击添加文件,添加文件路径如下 DEMO\Libraries\FWLIB\src中的所有文件 这些文件是ST标准外设驱动函数. 11、点击选中CMSIS,点击添加文件,添加文件路径如下 DEMO\Libraries\CMSIS文件夹中的core_cm3.c DEMO\Libraries\CMSIS文件夹中的system_stm32f10x.c DEMO\Libraries\CMSIS文件夹中startup_stm32f10x_hd.s core_cm3.c:Cortex-M3内核及其设备文件
startup_stm32f10x_hd.s是系统启动文件 startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx 然后,我们需要对MDK环境进行一下设置 1、点击MDK环境中的目标选项按钮 2、我们首先选择输出文件的文件夹,我们选择Output文件夹,再填写你要输出的文件命名,最后勾选产生hex文件 ? 3、点击C/C++选项卡,在Define 里面输入添加USE_STDPERIPH_DRIVER,?STM32F10X_HD。添加USE_STDPERIPH_DRIVER 是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的ST的库,添加STM32F10X_HD?是因为我们用的芯片是大容量的,添加了STM32F10X_HD 这个宏之后,库文件里面为大容量定义的寄存器我们就可以用了。芯片是小或中容量的时候宏要换成STM32F10X_LD或者STM32F10X_MD。其实不管是什么容量的,我们只要添加STM32F10X_HD 这个宏即可,当你用小或者中容量的芯片时,那些为大容量定义的寄存器我不去访问就是了,反正也访问不了。 4、在“包含文件路径”栏点击,在这里添加库文件的搜索路径,这样就可以屏蔽掉默认的搜索路径。 ? 添加路径为: DEMO\Libraries\CMSIS DEMO\Libraries\FWLIB\inc DEMO\User ?5、我们使用SWD下载调试的时候还需要对下列设置进行修改,首先找到Options中的debug选项卡,点击Settings 选择SW后,右面的对话框会出现如图所示选项,点击确定 ? ?再点开Utilities选项卡,点击下图中的Settings选项 按照下图进行设置 ? ?配置完成,现在我们就可以用SWD模式进行下载程序和在线调试了! |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:47:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |