和安装STM32固件库:下载与安装

这个是STM32芯片包下载安装的CSDN网址:
https://blog.csdn.net/xzzszka/article/details/123768589?spm=1001.2014.3001.5501
安装keil5的步骤是:先安装破解keil5 -> 下载芯片包以及安装 ->固件库下载与移植

固件库下载

下载官网地址:https://www.st.com/content/st_com/en.html

Produsts -> Microcontrollers & Microprocessors -> STM32 32-bit Arm Cortex MCUs

找到自己芯片的版本,我这里是 STM32F103VB 型号的芯片,所以路径就是:
STM32 32-bit Arm Cortex MCUs (1201) -> STM32 Mainstream MCUs (419) -> STM32F1 Series (95) -> STM32F103(29)

找到后点击,右侧就会出现所对应的芯片的相关信息,点击自己所需的芯片型号

①处就是芯片的型号, 然后点击② Tool&Software

往下滑,找到固件库 STSW-STM32054 ,点击蓝色处

然后就是进行版本的选择,然后选择下载就行咯(路径没事)。我下载的是3.5.0版本的
下面还有,题内话。
可能会叫输入姓名邮箱之类的一个下载信息,邮箱一定要填正确!!!姓名之类的可以随意填。
会收到这样的一封邮件,点击 Download now 就可以下载。

下载完就得到这个(解完压):

固件库的移植

新建文件夹,创建4个文件夹,
分别是CORE,FWLIB,SYSREM,USER

CORE文件夹

打开固件库,将
路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下的

  1. core_cm3.h
  2. core_cm3.c

和路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的

  1. stm32f10x.h
  2. system_stm32f10x.c
  3. system_stm32f10x.h

文件复制到CORE文件夹中

FWLIB文件夹

将路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下的

  1. startup_stm32f10x_cl.s
  2. startup_stm32f10x_hd.s
  3. startup_stm32f10x_hd_vl.s
  4. startup_stm32f10x_ld.s
  5. startup_stm32f10x_ld_vl.s
  6. startup_stm32f10x_md.s
  7. startup_stm32f10x_md_vl.s
  8. startup_stm32f10x_xl.s

文件复制到FWLIB文件夹中。

SYSTEM文件夹

将路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下的

  1. inc
  2. src

文件夹复制到SYSTEM文件夹中

USER文件夹

将路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下的

  1. main.c
  2. stm32f10x_conf.h
  3. stm32f10x_it.c
  4. stm32f10x_it.h

文件复制到USER文件夹中,再在USER文件夹中新建一个pro_1文件(以后可以pro_2…),用来存放工程。

然后打开keil5程序
Project -> New uvision Project...

将新建的工程保存在刚刚新建的文件夹pro_1中,填写文件名,注意保存类型为uvproj;uvprojx,然后点击保存

就会出现一个选择芯片的页面,选择所要用的芯片。
我所需芯片在STMicroelectronics -> STM32F1 Series -> STM32F103 -> STM32F103VB
找到点击,然后OK


这个是配置芯片的页面,直接点击OK即可。

点击图示按钮,就会出现一个Manage Project ltems弹窗。
(那个‘注’的提示不是这里的,标错)

在Groups中将刚刚创建的四个文件添加进来

然后在这4个组中分别加入刚刚4个文件夹中的文件

点击一次Add就行,点击一次就添加上了,只是那个框不会消失,再点击会重复添加
文件类型有些要注意选择All files才能显现。

添加后的结果就是这个样的

同理,在其他3个组分别加上对应文件,FWLIB组添加全部文件,SYSTEM组添加src文件夹下的全部.c文件



全部添加完成后点击OK即可。
点击按钮,点击 Output 将Create HEX File选上

点击C/C++(4C6),然后在include Path处,点击后面的三个点。


将全部文件都输入,然后点击OK。

可以看到都已经添加上,再次点击OK

打开main.c文件,改成这样(测试一下),然后点击运行

报错1

如果出现这个报错
../../CORE/core_cm3.c(445): error: non-ASM statement in naked function is not supported

点击图示按钮,Target -> ARM Comoiler,将Dse.default.compiler version 6 换成 Dse.default.compiler version 5,然后点击OK,再次进行运行

报错2

报错2:.\Objects\pro_1.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

点击图示按钮,打开FWLIB,将其他文件全部移除,只留下startup_stm3210x_hd.s,然后点击OK,再次运行

运行成功

这样基本上是弄好了,但是不完全,这只是一个移植过程,后面还是要根据自己的程序进行一个头文件的移植,还有更改,不然就会报错
我移完固件库后也报错了,但是慢慢弄就弄好了,每个人的程序环境不一样,所以还是要耐心解决报错

物联沃分享整理
物联沃-IOTWORD物联网 » 和安装STM32固件库:下载与安装

发表评论