STM32开发02:创建第一个工程文件

STM32入门(四):创建第一个stm32工程模版(万事开头难) 你好,欢迎来到本博客!如果你对嵌入式系统编程感兴趣,想要学习如何在STM32微控制器上开发项目,那么你来对地方了。本篇博客将带领你一步一步创建你的第一个STM32项目,从搭建开发环境到编写简单的代码,让你快速入门STM32开发。希望通过这篇博客,你能够对嵌入式系统编程有个初步的认识,为未来的深入学习奠定基础。准备好了吗?让我们开始吧! 阅读详情

这是我的第2篇原创文章,主要内容是在Keil MDK中创建第一个工程文件,包括下载启动文件,自己创建Group,让MDK识别到我们提供的文件

一、创建项目

1.1启动文件

STM32的开发需要我们从官网下载对应芯片的启动文件,在编程的时候提供芯片内部的一些宏定义,官网下载地址::https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries/products.html ,选择其中的STM32F10x系列的标准库,从里面复制"core_cm3.h",“core_cm3.c”,“stm32f10x.h”,“system_stm32f10x.h”,“system_stm32f10x.c"这些事所有10x系列的芯片都需要用到的,最后是选择我们103ZE特有的,从文件夹中选择我们芯片对应的头文件,我们芯片选择的是512KBFlash,在系列中为大容量,故从文件夹中复制"startup_stm32f10x_hd.s”,新建一个文件夹把它保存下来,后续的文章中将这个文件夹命名为start(可以自己起名,没有中文即可)

1.2创建工程

PS:Keil非常古老,所以一些基本功能很落后,在创建工程时会提示你选择文件的保存位置,如果你没有提前创立工程文件夹,那么工程的相关文件就会“散装”在你选择的文件夹下,这是一个坑点,大家注意。

在Keil MDK中最上面的菜单栏中,点击Project,选择New μVision Project,创建一个工程,在工具栏中有一个魔法棒形状的按钮,鼠标放上去会显示option,点击后会弹出一个窗口,在Device栏中搜索我们使用的芯片STM32F103ZE,点击确认,关掉新弹出来的工程助手,就会得到一个全新的工程文件。

新的工程文件最左侧的文件夹目录中只有一个Source Group 1,把它删掉,然后我们自己建立两个Group来方便管理文件,点击工具栏中魔法棒旁边的像"品"一样有红白绿三种颜色的图标,会弹出一个有三个栏的窗口,其中Groups和文件系统的文件夹类似,但并不完全相同(文件并不需要完全对应,后面HAL库开发会遇到,遇到了再讲),我们在这里建立两个Group,一个是Start,另一个是User;Start就是我们上一步创立的文件夹,点击"Help"上方的"Add Files",将之前Start文件夹中的6个文件全选,然后点击"Add"。

注意,第二个坑点来了,在做完这一步之后,Keil并不会自动关闭这个窗口,但实际已经添加到了Files栏中,如果点击多次会重复添加,然后就要把多余的一个个删掉,所以千万别多点,点一次就够了!

PS:我的前两篇文章中缺少Keil、ST-Link、VSCode的下载和配置,这些内容网上有大量优质内容,这里不做详细说明。

最近发布的文章:STM32开发01:开发前的准备工作

STM32基础教程--创建一个STM32工程(基于STM32F103C8T6) STM32是由意法半导体(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列。该系列微控制器具有高性能、低功耗、低成本等特点,集成了丰富的外设接口,如通用输入输出端口(GPIO)、串行通信接口(USART、SPI、I2C)、模数转换器(ADC)等。STM32广泛应用于工业控制、消费电子、汽车电子、医疗设备、智能家居等嵌入式系统领域。 阅读详情

相关推荐

STM32CubeMX系列教程0:创建工程

文章目录1、创建工程2、配置外设开启SWD调试功能使能外部时钟选择GPIO配置GPIO3、配置时钟系统4、工程输出设置工程设置源码输出设置生成源码工程5、写入用户代码编译下载   STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等). 直观的STM32微控制器的选择和时钟树配置 微控

小白的学习笔记 1万+

STM32工程文件的建立以及Keil软件的基本设置和修改

STM32建立工程文件

The_bad的博客 6453

硬石STM32开发板YS-F1Pro工程创建

笔者想在硬石YS-F1Pro上进行开发,所用芯片为STM32F103ZET6版本。以下是在Keil5上创建工程的步骤。仅供参考!

hjlkklk的博客 3158

STM32——新建基于固件库的工程模板

基于ST官方推出的固件库,我们能够更加方便地使用stm32。那么为了便于今后的开发工程,创建一个工程模板,可以避免浪费很多重复的时间。本次演示如何建立STM32F103VET6的工程模板供大家参考。在文章最后我也会分享一些自己已经建立好的工程模板,包括stm32f103ret6/vet6、stm32f407zet6,也欢迎大家继续补充分享。

Crush0454的博客 2754

STM32CubeMx下载安装环境搭建及工程创建

是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。随着芯片行业不断发展,STM32系列芯片不断扩大市场份额。为了方便开发者的不同需求,意法半导体(ST)推出了一款图形化配置工具-STM32CubeMX。STM32CubeMX可以通过图形配置直接导入C语言初始代码,提高了工作效率,大大减轻了因工程配置而带来的烦恼。与此同时,针对不同开发者也更容易开发STM32系列芯片。

肌肉金轮的博客 4621

第一篇 STM32CubeMX创建STM32工程之工程创建、编译、下载

STM32CubeMX创建STM32工程之工程创建、编译、下载

悦颜倾城的博客 3328

STM32工程创建参考文档

本文介绍了STM32开发的三种方式:寄存器开发、标准库函数开发和HAL库开发。重点讲解了基于寄存器和库函数两种开发工程的创建步骤:1)寄存器开发需要手动配置启动文件、外设寄存器描述文件等基础文件,通过直接操作寄存器实现功能;2)库函数开发则通过调用ST官方封装函数间接配置寄存器,需添加标准外设驱动库文件。对比显示,寄存器开发效率高但可维护性差,库函数开发虽牺牲部分执行效率,但具有更好的可读性、可维护性和可移植性,是当前主流开发方式。文章通过点灯程序示例展示了两种开发方式的具体实现差异。

2401_87143379的博客 1718

STM32——STM32简介与创建工程

STM32——STM32简介与创建工程

NRWHF的博客 5321

01_如何创建一个stm32工程文件

keilkill.bat可以可以把工程编译产生的中间文件删掉,工程分享给别人前先双击keilkill.bat,减小文件大小。最常用的三个RCC函数AHB外设时钟控制,APB2外设时钟控制,APB1外设时钟控制。再拿到这个文件夹里面所有的文件,是标准外设驱动的文件夹,放到library文件夹。打开工程文件夹,再新建三个文件,library,start,user。选择后缀为md的启动文件,以及所有.c和.h文件,点击ADD。拿到stm32的启动文件,放入start文件夹下。把自己建的文件夹路径都添加进来。

xiayulinlll的博客 542

STM32—建立工程模板

文章目录前言一、基于固件库二、基于寄存器1.引入库2.读入数据总结 前言 在STM32的开发过程中,我们知道有两种方式,库函数和寄存器。 在实际开发中我们可以直接操作寄存器,但是这种方法的劣势是你需要去掌握每个寄存器的用法,你才能正确使用STM32,而对于 STM32 这种级别的 MCU, 数百个寄存器记起来谈何容易。于是 ST(意法半导体)推出了官方固件库,固件库将这些寄存器底层操作都封装起来,提供一整套接口(API)供开发者调用,大多数场合下,你不需要去知道操作的是哪个寄存器,你只需要知道调用哪些函.

little_rookie__的博客 3919

STM32教你从零创建一个HAL库工程文件(STM32G4版)

关于从0创建stm32的hal库工程

ldfmq的博客 2520

STM32的工程建立

1.调整字体,在扳手中,color&font中选择C/C++和ASM都为142.编码格式也在扳手中,在edit中改为UTF-83.把tab改为4,也在扳手中。

2202_75625336的博客 1765

STM32F103标准库开发:Keil5新建STM32工程

新建STM32工程 步骤一:创建工程模板文件 新建一个文件夹 template 在文件夹template里面新建五个文件 (1)CMSIS: 存放内核驱动程序和启动引导文件 (2)FWLIB:存放库函数文件 (3)Project:存放工程文件 (4)System:存放自己写的驱动程序 (5)User:存放用户程序(主函数) 步骤二:导入stm...

MQ0522的博客 2万+

STM32的工程模版创建(保姆级教程)

本文基于stm32标准库的工程模版创建,分为三个步骤进行,第一步复制固件库的系统文件,第二步是在keil5软件中新建一个stm32的工程,第三步对工程进行调试运行测试。创建工程前需要提前下载安装好keil5软件、STM32F1xx固件库。

2301_79794623的博客 1万+

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7689

【Apollo规划模块探秘】—— 场景(Scenario)驱动的决策引擎

本文深入解析了Apollo自动驾驶平台规划模块的核心机制——场景(Scenario)驱动的决策引擎。文章通过类比日常驾驶,阐述了规划模块如何像经验丰富的司机一样,根据不同的路况(如车道跟随、无保护左转)切换不同的“驾驶模式”。重点剖析了场景管理器(ScenarioManager)如何基于感知信息进行场景判断与切换,以及“场景-阶段-任务”双层状态机如何精密协作,实现灵活、高效且安全的轨迹规划。

rnn9storyteller的博客 278

【STM32】STM32CubeMX创建第一个工程

STM32CubeMX是STM32Cube工具家族中的一员,从MCU/MPU选型,引脚配置,系统时钟以及外设时钟设置,到外设参数配置,中间件参数配置,它给STM32开发者们提供了一种简单,方便,并且直观的方式来完成这些工作。所有的配置完成后,它还可以根据所选的IDE生成对应的工程和初始化C代码。除此以外,STM32CubeMX还提供了功耗计算工具,可作为产品设计中功耗评估的参考。

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 2668

ACM论文LaTeX模板解析(三)| 文章顶部信息(Top matter))Part 1

文章顶部信息(Top matter))Part 1,文章类型、作者信息等

FreshManInC的博客 4853

一个完整的STM32工程到底由哪些文件组成

这个我必须总结清楚,就像之前总结无人机的飞控算法一样,你可以把各个STM32书里面的工程文件拿来总结。找出通用的模式。灵活运用,能灵活改动。 。 ...

自主无人机 PX4 ROS SLAM 路径规划 MVS等技术分享 1万+

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1005

labview高低拼接的理解

计算机的一个字节由8位组成,无符号的8位整形表示的范围为0~255,范围太小了,所以用双字节,即16位整形表示更大范围的数字0 ~65535。2.labview中的高低拼接实质是高8位字节左移8位与低8位字节相加,结果是双字节整形。

qwerqwerdhr的博客 834

如何创建自己的第一个STM32的工程

注意事项:1、安装 KEIL 软件,注意不要使用中文路径还有空格特殊符号2、安装相关 Device(不同的 MCU 底层相关驱动代码)路径尽量规范,不要安装在 c 盘,有可能电脑的用户名会导致出现问题。Core:指的软件安装位置PACK:指对应不同芯片所需要的 pack 包安装的位置。安装 Pack 包 -- 3 种方式,离线安装 pack 包Pack 包的作用是让 keil 软件支持对应的芯片开发,所以每开发一种类型的型号需要先将 keil 支持的 pack 包安装才行。

you_kuai的博客 1292

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏

SPRD Android 14 通过属性控制系统设置显示双栏或者单栏

m0_60898338的博客 1118

stm32教程:keil5软件使用 && 创建一个完善的工程

在这一篇里面我们创建了一个比较完善的工程模板。在下一篇里,我们就正式开始敲代码,先预告一下,我们的第一个要学的是操作GPIO口点亮流水灯。

黑不拉几的小白兔和你一起努力 4451

【信息系统项目管理师】高分论文:论信息系统项目的整合管理(绩效考核系统)

我们将项目管理计划中的子计划包括项目范围、进度、成本、质量管理计划,过程改进计划,人力资源管理计划,风险、采购管理计划,干系人管理计划,项目范围、成本、进度基准作为依据,查看项目的各个方面,通过组织全体团体成员会议来解读由各监控过程提供的信息,之后我与项目管理团队一起制订所需措施,确保项目绩效达到预期要求。在一个项目中,变更是必然的,也是不可避免的,进度拖延,成本失控,客户有新的需求等都会引起项目的变更。在本项目中,我要求有处于工作状态的产品,开发人员才可以对其任意修改,修改完成后,重新入库即可。

数据知道的博客 6887

LeetCode 面试经典 150 题回顾

最经典 150 题,掌握面试所有知识点 面试经典 150 题 : 题目分析、解题思路、复杂度分析、代码展示

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 8万+
上一篇: STM32开发01:开发前的准备工作
下一篇: STM32开发03:切换LED亮灭状态
_孙浩天_
博客等级 码龄4年 43粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值