KEIL5 创建STM32工程(全过程)

       前几天把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,今天也算是熟悉了一遍操作。

发布了5 篇原创文章 · 获赞 6 · 访问量 1616

猜你喜欢

转载自blog.csdn.net/weixin_43736860/article/details/105422836