STM32标准库编译前置条件配置

本文基于stm32f104系列芯片,记录编程代码前需要的操作:

添加库文件

在ST官网下载标准库STM32F10x_StdPeriph_Lib_V3.5.0,解压后,得到以下界面

启动文件

进入Libraries,然后进入CMSIS,再进入CM3,点击DeviceSupport,再顺序进入ST,STM32F10x,satrtup,arm,就可以看到库文件了:其为汇编文件

将其放入建立的工程中,为防止混乱,最好置于一个单独文件夹。

寄存器描述文件

回到上述文件夹中的STM32F10x处,找到stm32f10x.h文件,其功能为描述(声明)引脚功能,以便省去配置引脚过程,其下方两个system文件功能为配置时钟。复制此三个文件到启动文件步骤中新建的单独文件夹里。

内核描述文件

回到CM3文件夹,点击CoreSupport,这两个文件为内核寄存器描述文件,复制其置于启动文件步骤中新建的单独文件夹里。

必要文件配置完毕。

将文件加入项目

回到keil,建立新的group,向其加入之前建立的文件夹中的启动文件,包含所有以md.s结尾的文件,以及所有.c与.h文件。

接着将之前建立的文件夹的路径添加进来,防止keil找不到文件

点击该按钮,选中其中的C/C++

找到该位置:

点击...,到左上角,加入之前建立的文件夹的路径即可。

建立一个项目检测

建立新的group,为方便识别,之前包含启动文件的改名为start,现在新建的改为user,user下即为自己编写的代码

检测以上文件是否处于同一文件夹下,若不存在,将其挪入建立的user文件夹(一般不在)。

main.c以以下代码作为测试代码:

#include "stm32f10x.h" //编写代码需加上该头文件
int main(void)
{while(1){}
}

点击编译,发现报错:

检查发现为固件库不支持该编译器版本,修改编译器版本即可:

点击魔术棒,选择target,将下图右侧V6改为V5版本即可。

再次编译,只有一个警告(一般代码最后一行必须是空行,否则就有该警告),证明配置成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/5787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Debian 12 -bash: netstat: command not found 解决办法

问题表现: debian 12系统中,不能使用 netstat命令 处理办法: netstat 命令就的net-tools中,把net-tools工具安装上就好了。 apt-get install netstat 安装之后就可以使用netstat 命令了,如查询端口情况: …

什么是内存缓存 DDoS 攻击,改如何防护

DDOS 缓存服务器是世界上许多大型网站(如 Facebook、Flickr、Twitter、Reddit、YouTube、Github)使用的一项技术。主要作用是利用DDOS缓存技术处理的动态网页应用,可以减轻网站数据库的压力,当这些网站出现大规模连接请求时&#…

python学习之词云图片生成

代码实现 import jieba import wordcloudf open("D:/Pythonstudy/data/平凡的世界.txt", "r", encoding"utf-8") t f.read() print(t) f.close() ls jieba.lcut(t) txt " ".join(ls)w wordcloud.WordCloud(font_path"D:/cc…

如何利用有限的数据发表更多的SCI论文?——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响

原文链接:如何利用有限的数据发表更多的SCI论文?——利用ArcGIS探究环境和生态因子对水体、土壤和大气污染物的影响https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247602528&idx6&snc89e862270fe54239aa4f796af07fb71&chksmfa82…

【前端探索者:从零到精通的Web前端实战专栏】

🚀 在这个代码编织梦想的时代,Web前端作为互联网的颜值担当,正以日新月异的速度重塑数字世界。想要在前端江湖里游刃有余,你需要的不仅仅是一把锋利的剑,更是一套完整的武功秘籍!今天,我们就为你揭开【Web前端】专栏的神秘面纱,带你从菜鸟到大神,一飞冲天! 📚 专栏…

基于Spring Boot的校园闲置物品交易网站设计与实现

基于Spring Boot的校园闲置物品交易网站设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统功能界面图,在系统首页可以查看…

ClickHouse高原理与实践

ClickHouse高原理与实践 1 ClickHouse的特性1.1. OLAP1.2. 列式存储1.3. 表引擎1.4. 向量化执行1.5. 分区1.6. 副本与分片1.7 其他特性 2. ClickHouse模块设计2.1 Parser分析器与Interpreter解释器2.2 Storage2.3 Column与Field2.4 DataType2.5 Block2.6 Cluster与Replication …

ROS2专栏(三) | 理解ROS2的动作

​ 1. 创建一个动作 目标: 在ROS 2软件包中定义一个动作。 1.1 新建包 设置一个 workspace 并创建一个名为 action_tutorials_interfaces 的包: mkdir -p ros2_ws/src #you can reuse existing workspace with this naming convention cd ros2_ws/s…

[1673]jsp在线考试管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 在线考试管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

LeetCode 213 —— 打家劫舍 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此题是 LeetCode 198—— 打家劫舍 的升级版,多了一个首尾相连的设定。 因为首尾相连,所以第一个房屋和最后一个房屋只能偷窃其中一个。 所以,第一种方案就是不偷窃最后一个房…

如何远程访问连接管理器?

远程访问连接管理器是一种方便的工具,可以实现远程访问计算机和网络设备的功能。它使用户能够从任何地点连接到远程计算机,并进行文件传输、桌面共享和远程控制等操作。远程访问连接管理器不仅提供了便利性,还能提高工作效率,并为…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于分形理论的新型电力系统规划场景生成方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

一觉醒来 AI科技圈发生的大小事儿 05月01日

⏩OpenAI获《金融时报》内容授权:可训练模型和实时调用 OpenAI与英国《金融时报》达成战略合作伙伴关系,通过将《金融时报》的新闻内容集成到ChatGPT模型中,提升模型的实用性和新闻内容的可访问性。ChatGPT的用户现在能够访问到《金融时报》…

分类规则挖掘(二)

目录 三、决策树分类方法(一)决策树生成框架(二)ID3分类方法(三)决策树的剪枝(四)C4.5算法 三、决策树分类方法 决策树 (Decision Tree) 是从一组无次序、无规则,但有类别…

审计师能力与专长数据集(2014-2022年)

01、数据介绍 审计师是专门从事审计工作的人员,他们对企业、政府机关、金融机构等组织进行独立的、客观的、合法的审计,以评估这些组织的财务状况、经营绩效和风险水平。审计师通过收集和评估证据,以确定被审计单位的财务报表是否公允、合法…

中国发布首个汽车大模型标准

🦉 AI新闻 🚀 中国发布首个汽车大模型标准 摘要:中国信息通信研究院于4月28日发布了国内首个汽车大模型标准,标志着汽车行业正式迈向“人工智能+”时代。该标准包含三个核心能力域:场景丰富度、能力支持度…

区块链 | IPFS:CID

🦊原文:Anatomy of a CID 🦊写在前面:本文属于搬运博客,自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时,我们依赖于内容寻址(而不是中心化网络的位置寻址)来安全地定位…

『项目整理』易CAR通项目说明文档-我的第一款APP

『项目整理』易CAR通项目说明文档-我的第一款APP 项目介绍功能介绍技术栈介绍实现效果如何运行备注 项目介绍 易CAR通项目是我的第一个Android项目。是一款结合了AR技术的模仿懂车帝的看车软件。因为是初学,所示实现的效果差强人意,很多的功能界面只实现…

ICode国际青少年编程竞赛- Python-1级训练场-基础训练1

ICode国际青少年编程竞赛- Python-1级训练场-基础训练1 1、 Dev.step(4)2、 Dev.step(-4) Dev.step(8)3、 Dev.turnLeft() Dev.step(4)4、 Dev.step(3) Dev.turnLeft() Dev.step(-1) Dev.step(4)5、 Dev.step(-1) Dev.step(3) Dev.step(-2) Dev.turnLeft() Dev.step(…

Java_从入门到JavaEE_08

一、Eclipse开发工具的介绍 Eclipse工具简绍 Eclipse 是著名的跨平台的自由集成开发环境(IDE)。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C 和 Python 的开发工具。 下载与安装 下载: Ecli…