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

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

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

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

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

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

你可能感兴趣的:(KEIL5 创建STM32工程V3.5固件库(全过程))