STM32F4标准固件库新建工程(keil5)

首先新建工程文件夹(名称任意,不要带中文字符)

建立以下文件夹

各个文件的用途:

        CORE ; STM32核心源码

        FWLIB : 固件库函数

        FUN : 自己编写的函数(如点灯)

        OBJ : 编译所产生的中间文件和.hex程序

        SYSTEM : 系统运行时的一些函数

        USER : 用户目录

名称不必相同,主要目的是分类。

1,点击左上角project

2,点击

3,输入文件名(工程名)

4,选择芯片型号

然后......

ps:有没有弹出这个弹窗都是正常的(似乎并不影响编译)

问题原因及解决方法keil报错解决:Loading PDSC Debug Description failed for STMicroelectronics STM32Fxxxxxxx_e203 : undefined identifier - function 'message-CSDN博客

(我是直接点确定不管的)

然后.......

红色的这个好像是因为CMSIS包版本过低导致的(之前解决过但是现在是新电脑的环境)

全部是绿色的才是正常的233333

好的,回归正题,点击OK。

搞定!(此帖完结(不是))

然后打开官方固件库STM32F4xx_DSP_StdPeriph_Lib_V1.9.0

将STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\STM32F4xx_StdPeriph_Driver

下面的inc与src文件夹复制粘贴到刚才的FWLIB文件夹下

复制~

粘贴~

\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm

目录下的startup_stm32f40_41xxx.s

复制到CORE下面

这个文件夹里存放的是启动文件,请根据自己的芯片信号选择。

\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\CMSIS\Include

下的core_cm4.h ,core_simd.h ,core_cmFunc.h 以及 core_cmInstr.h 同样复制到 CORE 目录下面。

此时的CORE文件。

STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include

目录下的stm32f4xx.h 和 system_stm32f4xx.h 复制到 USER 目录下。我们以后会经常和这俩文件

打交道。

然后将

STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Project\STM32F4xx_StdPeriph_Templates

下面的.c与.h文件全部复制到USER目录下面。

Win11查看文件拓展名的方法

此时USER文件夹应有:

然后进入keil5的设置环节:

双击修改名称为工程名称

点击新建文件夹

选中FWLIB

点击右下角Add Files

定位到我们刚才建立的目录\LIB\src 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后点击 Close.可以看到 Files 列表下面包含我们添加的文件。

选中USE文件夹

也将USE文件夹下的.c文件都添加进去。

选中CORE文件夹

将startup_stm32f40_41xxx.s添加进去

(这样就能找到啦)

然后记得点OK

然后记得点OK

然后记得点OK

然后点击魔法棒

c++标签页

在上方的Define添加USE_STDPERIPH_DRIVER

选择

添加所有包含.h文件的文件夹

output选项卡

选择OBJ文件夹(注意不是USER目录下的object文件夹)

编译

果然......

报错:

..\USER\stm32f4xx.h(115): error:  #35: #error directive: "Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)"

直接复制粘贴搜索

打开stm32f4xx.h

翻译一下

然后发现更改不了文件

这是因为文件属性是只读

更改属性后

我用的是F407芯片,于是取消注释:

(这个其实就是keil不知道你在使用什么芯片,你需要给它一个声明)

然后

emmmmm

将stm32f4xx_fmc.c删除(此文件要f42或f43系列才用到)

不要误删了其他文件,不然会报错!!!

然后

emmm

只要不报错就行!

好了,怎么多个警告其实是stm32f4xx.h里的11581行-11585行重定义了还是什么的。注销掉就行了。

噢耶!

(像不像之前学c忘加 ; 然后报一堆错的场景)

搞定!

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值