keil中出现Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o)等问题解决办法

在keil中仿照别人的程序写了RCC初始化的程序,编译后出现以下问题

.\obj\pro1.axf: Error: L6218E: Undefined symbol FLASH_PrefetchBufferCmd (referred from main.o).

.\obj\pro1.axf: Error: L6218E: Undefined symbol RCC_GetFlagStatus (referred from main.o).

.\obj\pro1.axf: Error: L6218E: Undefined symbol NVIC_SetVectorTable(referred from main.o).

等等一系列相似的问题,都是说该函数没定义,其实就是没包含到工程当中。

解决办法:

点击三个方块,


将stm32f10x_flash.c和stm32f10x_nvic.c添加进来,这些都是工程里的,当然你用软件自带的也行了。我的是:E:\ProgrameData\Keil STM32\pro1\lib\src。

再次编译就不会报错了。

总结,当出现类似问题时,原因很可能就是没添加这个函数所在的头文件。

您遇到的错误是".\Objects\Project.axf: Error: L6218E: Undefined symbol Key_Init (referred from main.o)"。这个错误是指在main.o文件,引用了一个未定义的符号Key_Init。根据引用所提到的解决方法,这个错误通常是因为在main.o同名的.c或.s文件出了问题,导致符号未定义。 为了解决这个问题,您可以按照以下步骤进行排查和修复: 1. 首先,确认是否存在名为Key_Init的函数或变量的定义。检查您的代码是否包含了Key_Init的定义,并确保它在可见的范围内。 2. 如果您确认Key_Init的定义存在,并且应该可见,则检查main.o文件所对应的源文件(main.c或main.s)是否正确地包含了Key_Init的定义。可能是您的代码存在错误或者遗漏导致该符号未定义。 3. 检查相关的头文件是否正确引入,并且定义了Key_Init的函数原型或变量声明。确保头文件对Key_Init的声明与其定义一致。 4. 如果以上步骤都没有解决问题,可以尝试重新编译整个工程,以确保所有的源文件都被正确编译并链接在一起。 通过以上的排查步骤,您应该能够找到并解决".\Objects\Project.axf: Error: L6218E: Undefined symbol Key_Init (referred from main.o)"错误。希望对您有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [keil 5 : Error: L6218E: Undefined symbol问题的解决(其实没有什么实际用途,真的想解决问题别看这个......](https://blog.csdn.net/thinszx/article/details/83377096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [STM32新手常见的一个错误解决](https://download.csdn.net/download/weixin_38708945/12684173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值