KEIL5 创建STM32工程V3.5固件库(全过程)

您所在的位置:网站首页 keil4安装stm32库 KEIL5 创建STM32工程V3.5固件库(全过程)

KEIL5 创建STM32工程V3.5固件库(全过程)

2023-08-28 04:51| 来源: 网络整理| 查看: 265

       前几天把C语言都复习完了,打算开始把STM32学一遍,巩固一下单片机的知识。由于之前做比赛用的是NXP的LPC54606和KEA128,学校的单片机课程也是MSP430F5529,所以到现在还没接触过STM32,就想着在秋招前先过一遍。   学习STM32看的并不是正点原子的视频,选择了刘凯的视频。等我刘凯的视频学习完后会用正点原子的视频快速复习一遍。   由于之前比赛都是用逐飞科技创建的工程,所以从来没有自己创建过单片机的工程。由于刘凯老师用的是keil4和2.0的固件库,完全不一样,所以今天先用KEIL5创建一下3.5固件库的工程,写下创建工程的步骤,方便以后自己和有需要的人观看。   首先打开安装地址,点击自己对应的芯片。如果统一同样时F10x的话可以直接从我的网盘下载:   链接:https://pan.baidu.com/s/13u4N3q-vEvEEG-vjQ0WaHw 提取码:5p43在这里插入图片描述

点击后出现对应型号芯片下拉页面,进行下载 在这里插入图片描述   先确定好自己创建工程的地方,然后创建文件夹,比如我创建了名为STM32F10x_V3.5的文件夹。然后此文件夹下创建四个子文件夹放固件程序。分别为user(放置自己编写的文件,比如main.c)、CMSIS(微控制器软件接口标准,主要是关于内核)、startup(启动文件)、driver(外设驱动) 在这里插入图片描述 1.将3.5的固件库目录STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的四个文件复制到user文件夹中去,如图所示:在这里插入图片描述   stm32f10x_it.c和stm32f10x_it.h是存放STM32工程中所有中断函数的模板文件。   为什么需要conf文件?(点击跳转) 2.然后将固件库中的CoreSupport下的文件,以及STM32F10x下的三个文件复制到自己创建的CMSIS中,具体地址如图所示:在这里插入图片描述   关于Core_cm3.c文件的解释(点击跳转) 3.再将arm目录下的文件复制到自己创建的startup文件中,目录如图文件夹所示: 在这里插入图片描述 4.最后将STM32F10x_StdPeriph_Driver中的两个文件夹inc与src复制到自己创建的driver中。目录如果所示:在这里插入图片描述   inc放置的都是h文件,src放置的都是源文件,就是C文件。这里面都是外设的源文件,比如ADC之类的。   好了,文件已经复制完毕现在去keil创建属于自己的工程。在工具栏中点击Project->new uVision project创建工程。将工程保存在之前创建的STM32F10x_V3.5文件下,此文件夹下还有之前创建的四个文件夹,并给自己的工程起名。 在这里插入图片描述

选择自己的芯片型号在这里插入图片描述 在这里插入图片描述   这个manage run-time environment中也有固件库,直接勾选即可,是keil5的新功能。今天我们创建工程的方式是自己去搬运官网给的库,加深一下理解和增加动手能力,所以没有使用manage run-time environment来添加库,直接点击OK即可。   接下来就是添加对应的源文件到工程中,步骤如图所示 在这里插入图片描述   其中driver只需要将src的c文件放入即可,不用将inc文件放入,头文件之后会去魔法棒中操作。 最终结果:在这里插入图片描述   再进一步操作:   给每一个群组添加对应的源文件,除了startup时.s文件以外其他都是.c文件。在这里插入图片描述   includepath最右边的三个点点击之后添加.h文件的对应路径,也急速hi根目录。   内容为:在这里插入图片描述   其中Define的内容要写USE_STDPERIPH_DRIVER,因为只要写了才会包含各个驱动脚本的头文件。   main函数中其他都删了,只保留图中内容即可。在这里插入图片描述在这里插入图片描述   试着编译了一次居然报错了。   百度了一下查到了解决方法。原来要根据自己的芯片flash容量选择启动文件。关于启动文件的分析。所以你会发现网上那么多创建工程的教学,每个人的启动文件都是不同的。   startup留下适合自己芯片的启动文件之后不会报错在这里插入图片描述

将外部晶振设置为8,这个是根据自己的核心板上对应的晶振来写。 在这里插入图片描述   如果没有勾选Create HEX File 就无法生成HEX文件,学习过51的朋友应该会知道,包括平常用protues仿真时,都是用hex文件。 在这里插入图片描述   OK!大功告成,可以开始敲代码了!   之前编译都是用IAR编译的,几乎没有怎么使用KEIL,今天也算是熟悉了一遍操作。

4.23补充: 仿真设置:   因为开发板在学校,现在只能使用软件仿真的形式。发现KEIL5在使用硬件调试Peripherals工具栏少了很多东西,下面进行设置补充:   魔法棒-Options for Target窗口-Target选项卡,勾选Use Custom File,然后在System Viewer file中选择stm32f4xx.sfr文件,文件对应ARM型号即可。   在这里插入图片描述   在Debug中选择Use Simulator,即使用软件仿真。选择Run to main(),即跳过汇编代码,直接跳转到main函数开始仿真。并且将下面的Dialog DLL设置为DARMSTM.DLL和TARMSTM.DLL,Paramete均为:-pSTM32F103C8(根据自己芯片写),用于设置支持STM32F103C8的软硬件仿真,最后点击OK完成。在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3