手把手教学一文在Keil5创建工程模版(以STM32F103C8T6点灯为例)

目录

一、创建工程文件夹

二、在Keil5中新建工程

三、如何新建文件

四、添加文件夹与文件到工程里

方法一(少量文件添加推荐):直接在左侧"Project"添加

方法二(批量文件添加推荐):在上侧找到像"品"字的图标

五、导入STM32F10x固件库文件

方法一:在我的资源里直接白嫖

方法二:手动收集

六、把刚刚收集的固件库文件分类添加到工程里

七、MDK工程配置

八、修改stm32f10x_conf.h文件

九、编写main.c

十、点灯实验


一、创建工程文件夹

        在任意盘下先新建一个文件夹,可命名格式为项目名+版本号+主题内容,如下图我命名为"ProjectTemplate_v1_0_0_工程模版"。接着在里面再新建两个文件夹"Drivers"与"MDK","Drivers"用于存放程序文件,"MDK"用于存放MDK的工程文件。把程序文件与工程文件分开,是因为考虑到后续可能使用不同的IDE,如"VScode"、"IAR"等,有利于项目文件的整理;


二、在Keil5中新建工程

        打开Keil5,在上方找到"Project",然后点击"New μVision Project..."

        找到刚刚创建好的文件夹"MDK",然后填写工程名字,接着点击"保存";

        选择芯片,在"STMicroelectronics"类别中找到并点击选择"STM32F103C8",然后点击"OK"。如果没有目标芯片,那就是没有下载对应固件支持包,先移步到手把手教学一文安装Keil5(MDK)固件支持包先按步骤下载对应固件支持包。

        直接右上角退出软件包导入界面,我们选择从外部导入的方式(外部导入方式有利于移植与工程转移);

        左侧"Project"出现下图内容即创建工程成功;


三、如何新建文件

  • ①点击新建文件;
  • ②新建成功;
  • ③点击保存;

        找到刚刚新建的文件夹"Drivers",我在里面又新建了一个"User"用来存放这个新命名为"main.c"的文件,然后点击"保存";


四、添加文件夹与文件到工程里

方法一(少量文件添加推荐):直接在左侧"Project"添加

        编辑文件夹名,直接单击文件夹;

        添加文件, 双击文件夹,选择文件添加;

        查看是否添加成功,然后直接退出即可;

        新建文件夹,右键点击目标工程1,然后点击"Add Group...";

方法二(批量文件添加推荐):在上侧找到像"品"字的图标

        单击"品"字;

  •    
    • ①新建文件夹;
    • ②单击选中,双击重命名文件夹;
    • ③在对应选中的"Group"里添加文件;
    • ④删除选中的文件/文件夹;
    • ⑤文件/文件夹 上下移动,用于整理位置;
    • ⑥添加完毕;


五、导入STM32F10x固件库文件

方法一:在我的资源里直接白嫖

方法二:手动收集

        在"Drivers"文件夹先新建文件夹"CMSIS",然后在里面再新建两个文件夹"CORE"与"STM32F10x_Driver",用于存放固件库文件;

        在Keil5的安装文件夹里跟着如下图的路径①,找到②里的文件夹,这些文件夹里的文件就是固件库文件(如果没有找到"STM32F1xx_DFP"这个文件夹则需要先安装固件支持包,可以按着我的"手把手教学一文安装Keil5(MDK)固件支持包"教程进行下载安装);

        打开"Include",复制如下图的文件到刚刚在工程文件夹里新建的"CORE"文件夹里;

        打开"Source",复制如下图的文件到刚刚在工程文件夹里新建的"CORE"文件夹里;

          打开"ARM",复制如下图的文件到刚刚在工程文件夹里新建的"CORE"文件夹里(下一步有解析为什么选择这个启动文件);

         由于本文以STM32F103C8T6为例,STM32F103C8的Flash大小为64K,所以启动文件选择了"startup_stm32f10x_hd.s";

         返回打开"StdPeriph_Driver/templates",先复制如下图的文件到刚刚在工程文件夹里新建的"CORE"文件夹里;

        根据下图的路径找到"core_cm3.h"、"cmsis_armcc.h"、"cmsis_compiler.h"、"cmsis_version.h",复制刚刚在工程文件夹里新建的"CORE"文件夹里;

        小插曲:以前所需要ARM内核的文件仅需要"core_cm3.c"、"core_cm3.h"这两个文件,但是在新版本的Keil5文件夹里找不到"core_cm3.c"文件,然后我就不管了,取了"core_cm3.h"直接编译了一波,根据编译提示错误:缺失了一些文件,结果在"core_cm3.h"所在的文件夹里一一对应都找到了,然后进行添加再次编译后就0Error,0Warning,芜湖。

        接着在网上搜了一下为什么,搜到的有效信息少之又少,总结了大家的意思大概就是:ARM公司把CMSIS升级到2.0版本时对软件架构进行了调整,去掉了原本的"core_cm3.c",转而新增了其他文件进行替代,有的人说是"core_cmFunc.h"、"core_cmInstr.h"。可能是我所用的版本不一样,我需要新增的是"cmsis_armcc.h"、"cmsis_compiler.h"、"cmsis_version.h"。其实万变不离其中,大家可以在下图的路径,先在"ARM"里找到"core_cm3.h",取过来编译一下看看缺失什么文件,一个一个进行添加即可;

         回到"StdPeriph_Driver"把"inc"与"src"搬运到工程文件夹里的"STM32F10x_Driver"里即可;


六、把刚刚收集的固件库文件分类添加到工程里


七、MDK工程配置

        "Output"界面,勾选"Create HEX File"生成HEX文件;

        "C/C++"界面,在"Define"里添加(USE_STDPERIPH_DRIVER)

        添加头文件源;

         "Debug"界面

  • ①脱离硬件,进行软件仿真时选择;
  • ②需要勾选,在软件仿真时可以显示真实时间;
  • ③STM32F103C8如图进行配置;
  • ④连接硬件在线仿真时选择;
  • ⑤连接硬件在线仿真时选择的工具;

         如下图进入"Settings";


八、修改stm32f10x_conf.h文件

        解除文件只读属性,可以看到文件图标有个锁;

        在文件夹里找到它,右键->属性;

        取消"只读",然后点击应用;

        再次看回Keil5里,文件图标的锁不见了就说明解锁成功了;

        接下来如下图看到stm32f10x_conf.h文件里大概第27行附近有一行"#include "RTE_Components.h""(由于版本可能不一致,但行数应该是在这附近的),把它删除掉。它其实是有着一些RTE_DEVICE_xxxxxx宏的头文件,我的做法是全部删掉,包括下面的第27~100行内出现的RTE_DEVICE_xxxxxx宏全部删掉。当然你也可以自己新建一个"RTE_Components.h"文件添加进来工程,自己在里面填写所有宏;

        把第27~100行内出现的RTE_DEVICE_xxxxxx宏全部删掉(只删除宏!对头文件声明请手下留情),修改为如下图所示:


九、编写main.c

        如下图格式编写main函数;

#include "stm32f10x.h"



int main(void)
{
    
    while(1)
    {
        
    }
}

        编译工程(如有错误与警告请到评论区进行评论,我会第一时间回复);


十、点灯实验

#include "stm32f10x.h"



#define	LED_GPIO	GPIOB									/**< LED引脚端口号 */
#define	LED_PIN		GPIO_Pin_7								/**< LED引脚编号 */



/*LED引脚配置*/
void LED_GPIO_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	/*打开时钟*/
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);			

	/*配置GPIO*/
	GPIO_InitStructure.GPIO_Mode	= GPIO_Mode_Out_PP;		/* 模式-推挽输出 */
	GPIO_InitStructure.GPIO_Speed	= GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Pin		= LED_PIN;
	GPIO_Init(LED_GPIO, &GPIO_InitStructure);
	
	/*初始化电平*/
	GPIO_SetBits(LED_GPIO, LED_PIN);						/* 默认输出高电平关闭LED */
}



/*设置LED开关*/
void Set_LEDState(unsigned char state)
{
	GPIO_WriteBit(LED_GPIO, LED_PIN, (BitAction)state);
}



int main(void)
{
	LED_GPIO_Init();										/* LED引脚配置 */
	Set_LEDState(0);										/* 输出低电平点亮LED */
	
	while(1)
	{
		
	}
}

         分享先到这里,希望能给大家带来启发与帮助。如果对内容存在疑问或想法,欢迎在评论区留言,我会积极回复大家的问题。在我的“Keil5_MDK”专栏中,还有一些关于Keil的教程,欢迎一起探讨、一起学习。

### 回答1: Keil5是一款常用的嵌入式开发工具,用于开发各种嵌入式系统。下面是Keil5使用教程STM32F103的简要介绍: 1. 安装Keil5软件,并安装STM32F103的支持包。 2. 创建一个新的工程,选择STM32F103系列的芯片。 3. 配置工程的基本设置,包括芯片型号、时钟频率、编译器等。 4. 添加源代码文件和头文件,编写程序。 5. 编译程序,生成可执行文件。 6. 下载程序到目标设备中,进行调试和测试。 以上是Keil5使用教程STM32F103的简要介绍,希望对您有所帮助。如需更详细的教程,请参考相关资料或网上教程。 ### 回答2: KEIL5是一款主流的嵌入式开发环境,目前被广泛应用于STM32芯片的开发中。本文将为大家分享一下KEIL5使用教程STM32F103。 一、安装keil5开发环境 第一步,将keil5软件下载到本地计算机。 第二步,运行安装程序,按照安装提示完成安装。 第三步,安装芯片支持库,在keil5中打开“pack installer”,选择需要的支持库进行安装即可。 二、创建工程 第一步,打开keil5软件,选择“project”菜单,点击“new uVision project”。 第二步,根据自己的需求设置工程名称及存储位置,点击“Yes”按钮。 第三步,弹出Target Options对话框,在这里需要设置芯片型号及工程的编译选项。 第四步,选择“Device”菜单下的“STM32F103C8”芯片。 第五步,设置编译选项,点击“settings”按钮,选择“C/C++”和“Assembly”选项卡,并设置好工程的编译选项。 第六步,点击“OK”按钮进行保存,然后就可以开始编写代码了。 三、编写程序 第一步,在keil5工程目录下创建.c和.h文件。 第二步,编写代码,完成代码之后进行编译,若编译成功,则可以使用第三方软件下载到芯片中进行上位机测试。 四、下载程序和调试 第一步,连接STM32F103芯片和下载器,并将下载器插入计算机的USB接口。 第二步,进入keil5的debug模式,选择“Debug”菜单下的“Start/Stop Debug Session”。 第三步,在Debug窗口中选择“flash –> download”,进行下载程序到芯片的flash或ram中。 第四步,在下载完成后,可以选择“run”执行程序,或者选择“step into”单步调试程序。 综上所述,本文介绍了使用keil5的基本步骤,包括安装keil5环境、创建工程、编写程序和下载程序,希望能够对大家在STM32F103开发中提供一些帮助。 ### 回答3: Keil5作为一款强大的嵌入式开发环境软件,适用于各种嵌入式系统的开发,其中就包括了STM32F103的开发。下面我们就从Keil5软件下载安装,工程创建以及编写程序等几个方面来介绍如何使用Keil5进行STM32F103的开发。 一、Keil5软件下载安装 1、首先我们需要去Keil5官网下载Keil5软件。 2、下载完后双击安装程序,按照提示安装即可。 3、安装成功后打开Keil5软件,会提示您申请一个MDK-Base license。点击“Yes”即可。 4、填写申请表格并提交即可获取Keil5免费试用授权。 二、STM32F103工程创建 1、在Keil5中选择“Project”->“ New uVision Project”。 2、选择STM32FXXX Standard Peripherals Library和STM32F103RBTx(含代码库)。 3、最后保存创建好的工程。 三、编写STM32F103程序 1、Keil5自带了丰富的代码库,可以方便我们的程序开发。 2、在创建好的工程中选择”File” -> “New”命令来创建你的源代码文件,例如可创建一个main.c文件。 3、在main.c文件编写STM32F103的程序。 四、编译STM32F103程序并下载到单片机 1、在Keil5中选择“Project”->“ Build Target”即可对STM32F103程序进行编译。 2、编译完成后,我们需要将程序下载到STM32F103单片机中。 3、连接好STM32F103单片机和PC电脑后,通过ST-LINK下载程序。 以上就是STM32F103的Keil5使用教程,希望可以帮助到大家。如有不懂处,建议进一步学习相关知识了解。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小星星星球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值