Keil5新建工程详细讲解

news2024/11/24 23:03:52

一. 新建文件夹并拷贝库文件

新建project文件夹后建立4个子文件夹:startup,device,drivers,main

ae15f656955643beb117b8722235f042.png

二. 新建mdk工程

1. 打开MDK软件,再点击Project->New uVision Project…新建一个工程,在弹出的对话框内命名并保存;

f8755b9238584b39b2e2106b5a1fce86.png

ab76e96d518d43f190c6385a2c03fedc.png

2. 在接着弹出的弹出选择器件的对话框内选择奋斗开发板的型号STM32F103VE;

551cbd07a898467fadebef06be0cd724.png

3. 点击OK关闭后面弹出的窗口即可;

三. 对文件进行分组管理及设置

(一)对四个文件夹内的源文件(.c文件)进行分组管理(“四个分组”)

 如下图所示,右键点击Target1(下面工程表示LED下新建的工程)选择Manage Components,进入分类文件管理设置。在弹出的选择框中,可以设置工程名,增加、删减文件夹,以及在某个文件夹内添加删除文件;

bfe89c9253224c53bcf8ca7b6d32908c.png

c8d4a04c2262488ba722dafdc90c254b.png

1. 给main组添加文件如下:

db574f92c6a94b149d3045cfa23b89aa.png

2. 给startup组添加启动文件。根据mcu的闪存容量添加对应的启动文件,比如f103VET6只需添加startup_stm32f10x_hd.s,否则报错。

37052aa34bca454785cc8bed17e38804.png

3. 给device组添加源文件(.c)如下:

77a9085640904bc890399be261b5ead3.png

4. 给drivers组添加文件,需要添加drivers\src下的全部源文件(.c),实际工程中只选择需要的驱动模块以提快编译速度,但misc.c, stm32f10x_rcc.c, stm32f10x_gpio.c这三个文件是必备的;

3af17b8a0fd44a2c91ff796b99604681.png

(二)给四个文件夹内的头文件(.h文件)配置搜索路径(“四个路径”)

1. 单击工具栏中的魔术棒,在弹出的选项窗口中选择“C/C++”标签页,然后单击“Include Paths”右边的“...”按钮,弹出“Folder Setup”对话框,然后将图上的四个文件夹路径(目录)添加进去(实际上不包含“startup”路径亦可)。

0987129bdd7141bfac2e933a835d8c0b.png

2. 添加四个组(顺序无关)的(相对)路径后(注意:drivers\inc,因不能包含子目录):添加完全部路径后结果如下:

3f816f182de44f85a885f1664f76e875.png

(三)配置宏定义标号(“一处宏定义”)

1. 在编辑框Define处添加宏定义标号USE_STDPERIPH_DRIVER,STM32F10X_HD(英文逗号,在stm32f10x.h里)。经过编译后才可以看见stm32f10x.h后者要依情况修改,这里STM32F10X_HD对应STM32F103VET6的大容量闪存。

665dec8598b046c0a839efe042624187.png

fc94616f7f424eae801d2fe6ad62e495.png

2. 完成以上操作后,删除main.c的文件输入以下代码即可:

02de632edfe2422ba9240ea3f7d2ce54.png

3. 最后保存进行编译:

5f4ff4926422439eb697108acc42b1e0.png

 

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

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

相关文章

MySQL日常问题-行列互换

问题 行列互换 场景1 行转换列 1、表结构和数据 /*Navicat Premium Data TransferSource Server : 本地Source Server Type : MySQLSource Server Version : 80027Source Host : localhost:3306Source Schema : schoolTarget Server Type :…

Javaweb9 AOP+案例

AOP Aspect Oriented Programming面向切片编程【就是面向特定方法变成】 SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中,主要通过底层的**动态代理机制,**对特定的方法进行编程 1.导入AOP依赖 2.编写AOP程序 加上Component//类…

二分查找-java代码实现(easy)

目录 一、问题描述 二、代码实现 三、刷题链接 一、问题描述 二、代码实现 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 如果目标值存在返回下标,否则返…

Digital电路仿真软件的安装

文章目录 1. Java环境的安装 2. Digital安装 3. 软件配置 1. Java环境的安装 电路仿真软件Digital是一款用于设计和仿真数字逻辑电路的工具。它可以帮助用户创建、测试和调试各种数字电路,提供可视化的电路编辑环境,使得设计过程更加直观和便捷。 D…

Apple - Cocoa Text Architecture Guide

翻译整理自:Cocoa Text Architecture Guide https://developer.apple.com/library/archive/documentation/TextFonts/Conceptual/CocoaTextArchitecture/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009459 文章目录 一、关于 Cocoa 文本系统1、概览大…

MyBatis 的多级缓存机制是怎么样运作的?

引言:上周三,小 X 去面试一家中厂,其中面试官问到 MyBatis 的多级缓存机制是怎么样运行的?这个问题可以好好准备一下,很多人可能只会用 MyBatisPlus,简单的多表联查 SQL 语句可能都写不出来,更别…

MySql 各种 join

MySql 定义了很多join的方式,接下来我们用一个例子来讲解。 用到的表 本文用到了两个表s1,s2: 内外连接 测试 1 1 1.select * from s1 inner join s2 on(s1.id s2.id);: -------- | id | id | -------- | 3 | 3 | | 4 | 4 | --------2…

sqlite3模块的使用

1. SQLite数据库 SQLite是一个轻量级的, 基于磁盘的, 关系型的数据库管理系统(RDBMS). 它不需要一个独立的服务器进程或操作系统级别的配置. SQLite是D.Richard Hipp在2000年创建的, 并且由于其小巧, 快速, 可靠和易于使用的特性, 它在全球范围内得到了广泛的应用.以下是 SQLi…

最长回文子串问题详解

最长回文子串的问题描述:给出一个字符串S,求S的最长回文子串的长度。 针对这个问题,先看暴力解法:枚举子串的两个端点i和j,判断在[i,j]区间内的子串是否回文。从复杂度上来看,枚举端点需要,判断…

【招联消费金融股份】有限公司2024年5月18日【算法开发岗暑期实习】一面试经验分享

招联消费金融股份有限公司2024年5月18日面试经验分享 面试流程:共30多分钟,先3分钟自我介绍,然后细细介绍简历上面的论文和实习信息。问题1:扩散模型的noise schedule有什么研究。问题2:有哪些常见的数学分布问题3&…

数据结构:冒泡排序,选择排序,插入排序,希尔排序的实现分析

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 小新的主页:编程版小新-CSDN博客 1.冒泡排序 1.1算法思想 冒泡排序的基本思想就是&a…

关于Java

关于Java Java语言关于并发JVM调优工具写在最后 Java语言 Java语言作为当下主流开发语言,其面向对象的开发模式以及一次编译多次运行,跨平台运行以及自动的垃圾回收机制可以说是给开发者节省了很大的时间用于逻辑功能的开发,那么在开发过程中…

【靶场搭建】-02- 搭建OWASP靶机

1.OWASP靶机介绍 相比较其他靶机,OWASP提供的环境更多,且包含了许多其他靶机的环境,属于性价比比较高的靶机了。 2.下载OWASP 访问以下地址进行下载: https://sourceforge.net/projects/owaspbwa/ 因为OWASP是虚拟机文件&…

C++初学者指南第一步---1. C++开发环境设置

C初学者指南第一步—1. C开发环境设置 目录 C初学者指南第一步---1. C开发环境设置1.1 工具1.1.1 代码编辑器和IDE1.1.2 Windows1.1.3 命令行界面 1.2 编译器1.2.1 gcc/g (支持Linux/Windows/MacOSX)1.2.2 clang/clang (支持Linux/Windows/MacOS)1.2.3 Microsoft Visual Studio…

Jackson的使用

一引入依赖 <!--Jackson是spring-boot-starter-json的一个依赖&#xff08;spring-boot-starter-web中包含spring-boot-starter-json&#xff09;。也就是说&#xff0c;当项目中引入spring-boot-starter-web后会自动引入spring-boot-starter-json --> <dependency&g…

vue关于:deep穿透样式的理解

情况一 子组件&#xff1a; <div class"child"><div class"test_class">test_class<div class"test1">test1<div class"test2">test2</div></div></div></div>父组件&#xff1a; …

麒麟系统mate_indicators进程占用内存资源高

一、问题现象 故障现象&#xff1a;环境出现内存溢出 操作系统&#xff1a;KYlin10-SP2 二、问题定位 发现mate-indicators进程占用内存资源达到节点总内存40%&#xff0c;导致服务出现内存熔断 临时解决 systemctl restart lightdm.service systemctl set-default multi-u…

使用itextPDF实现PDF电子公章工具类

一、制作公章 在线网站&#xff1a;印章生成器 - Kalvin在线工具 (kalvinbg.cn) 然后对公章进行下载保存 盖章图片&#xff1a; 二、生成数字签名 2.1&#xff1a; java工具keytool生成p12数字证书文件 Keytool是用于管理和证书的工具&#xff0c;位于%JAVA_HOME%/bin目录。…

数学建模----单源最短路径模型建立和求解

目录 1.引言和声明 2.单源最短路径 3.建立模型 4.代码求解 1.引言和声明 &#xff08;1&#xff09;最近又在准备学习matlab,有了一些新的理解和体会&#xff0c;记录一下&#xff1b; &#xff08;2&#xff09;这个首先要声明两个符号&#xff0c;这两个符号也是今天才知…

抖音混剪素材哪里找?可以混剪搬运视频素材网站分享

在抖音上制作精彩的视频离不开高质量的素材资源。今天&#xff0c;我将为大家推荐几个优质的网站&#xff0c;帮助你解决素材短缺的问题。这些网站不仅提供丰富的素材&#xff0c;还符合百度SEO优化的规则&#xff0c;让你的视频更容易被发现。 蛙学府素材网 首先要推荐的是蛙…