这个是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 下的
- core_cm3.h
- core_cm3.c
和路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的
- stm32f10x.h
- system_stm32f10x.c
- 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 下的
- startup_stm32f10x_cl.s
- startup_stm32f10x_hd.s
- startup_stm32f10x_hd_vl.s
- startup_stm32f10x_ld.s
- startup_stm32f10x_ld_vl.s
- startup_stm32f10x_md.s
- startup_stm32f10x_md_vl.s
- startup_stm32f10x_xl.s
文件复制到FWLIB文件夹中。
SYSTEM文件夹
将路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下的
- inc
- src
文件夹复制到SYSTEM文件夹中
USER文件夹
将路径:keil5\en.stsw-stm32054_v3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下的
- main.c
- stm32f10x_conf.h
- stm32f10x_it.c
- 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,再次运行 运行成功 这样基本上是弄好了,但是不完全,这只是一个移植过程,后面还是要根据自己的程序进行一个头文件的移植,还有更改,不然就会报错 我移完固件库后也报错了,但是慢慢弄就弄好了,每个人的程序环境不一样,所以还是要耐心解决报错
|