OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4862|回复: 6

求助,STM32编译过程中出现这种情况如何解决Error: L6218E和error: L6235E

[复制链接]

2

主题

8

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-9
在线时间
6 小时
发表于 2021-3-8 14:18:16 | 显示全部楼层 |阅读模式
9金钱
把带的所有启动文件敷上之后编译出现error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.按照网上教程只留一个启动文件时,出现17个相同错误Error: L6218E,具体报错内容如下:
.\CE.axf: Error: L6218E: Undefined symbol Init_AD9959 (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol KEY_EXIT (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol KeyRead (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol Keycode (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol LCD_Refresh_Gram (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol LED_Init (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol MY_NVIC_PriorityGroup_Config (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol Set_PointFre (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol Timerx_Init (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol _return (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol delay_init (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol delay_ms (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol initial_lcd (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol key_init (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol KEY_Cont (referred from stm32f10x_it.o).
.\CE.axf: Error: L6218E: Undefined symbol KEY_Sys_Timer (referred from stm32f10x_it.o).
.\CE.axf: Error: L6218E: Undefined symbol KEY_Time (referred from stm32f10x_it.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 17 error messages.
按照帖子里说的找到未定义的字符,然后右击查看定义后显示为(这里查看的是Key_init以此为例)
source browser:'Key_init'undefined Definition/Reference,请问各位大佬有没有解决方法

1615184240(1).png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

314

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
1039
注册时间
2020-7-21
在线时间
258 小时
发表于 2021-3-8 15:34:47 | 显示全部楼层
错误说您没有定义这些函数,在mian.c里面调用了这些函数,但是它找不到这些函数在哪定义。   1.检查有没有包含头文件   2.补上这些没有定义的函数文件   3.自己定义一下这些函数
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-9
在线时间
6 小时
 楼主| 发表于 2021-3-8 15:37:50 | 显示全部楼层
DFY 发表于 2021-3-8 15:34
错误说您没有定义这些函数,在mian.c里面调用了这些函数,但是它找不到这些函数在哪定义。   1.检查有没有 ...

#include "stm32_config.h"
#include "stdio.h"
#include "led.h"
#include "lcd.h"
#include "AD9959.h"
#include "key.h"
#include "timer.h"
#include "task_manage.h"

extern u8 _return;
int main(void)
{
       
        MY_NVIC_PriorityGroup_Config(NVIC_PriorityGroup_2);        //设置中断分组
        delay_init(72);        //初始化延时函数
        LED_Init();        //初始化LED接口
        key_init();
        Init_AD9959();
        Timerx_Init(99,71);
        initial_lcd();
  delay_ms(300);
  
        while(1)
        {
                KeyRead();
                Set_PointFre(Keycode, 0);
                if(_return)
                {
                        _return=0;
                        LCD_Refresh_Gram();
                }
                KEY_EXIT();
        }       
}

main函数中包含这些函数的,32新手好多不懂得求指教,谢谢
回复

使用道具 举报

11

主题

314

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
1039
注册时间
2020-7-21
在线时间
258 小时
发表于 2021-3-8 15:39:25 | 显示全部楼层
timelose 发表于 2021-3-8 15:37
#include "stm32_config.h"
#include "stdio.h"
#include "led.h"

#include "led.h"
#include "lcd.h"
#include "AD9959.h"
#include "key.h"
#include "timer.h"

您的这些头文件对应的.C文件有添加吗
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-9
在线时间
6 小时
 楼主| 发表于 2021-3-8 15:42:57 | 显示全部楼层
DFY 发表于 2021-3-8 15:39
#include "led.h"
#include "lcd.h"
#include "AD9959.h"

都添加了F:\1
1.png
回复

使用道具 举报

11

主题

314

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1039
金钱
1039
注册时间
2020-7-21
在线时间
258 小时
发表于 2021-3-8 15:50:28 | 显示全部楼层

您看下这些C文件里面有没有定义这些报错的函数
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-9-9
在线时间
6 小时
 楼主| 发表于 2021-3-8 16:17:50 | 显示全部楼层
DFY 发表于 2021-3-8 15:50
您看下这些C文件里面有没有定义这些报错的函数

我把上图的.h文件添加后重新编译之后,错误变了一些,但是数量没减,也增加了许多警告如下
..\HARDWARE\SETMODE\Setting.c(12): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[0].Num_Temp, "0000000000");
..\HARDWARE\SETMODE\Setting.c(13): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[1].Num_Temp, "0000000000");
..\HARDWARE\SETMODE\Setting.c(14): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[2].Num_Temp, "0000000000");
..\HARDWARE\SETMODE\Setting.c(15): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[3].Num_Temp, "0000000000");
..\HARDWARE\SETMODE\Setting.c(16): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[0].name, "CH0:");
..\HARDWARE\SETMODE\Setting.c(17): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[1].name, "CH1:");
..\HARDWARE\SETMODE\Setting.c(18): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[2].name, "CH2:");
..\HARDWARE\SETMODE\Setting.c(19): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[3].name, "CH3:");
..\HARDWARE\SETMODE\Setting.c(37): warning:  #167-D: argument of type "uint8_t *" is incompatible with parameter of type "char *__restrict__"
          strcpy(value[
ine_max - 1].name, "   Back  ");
..\HARDWARE\SETMODE\Setting.c(46): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "char *__restrict__"
                  strcpy(SELECT_L, "1111");
..\HARDWARE\SETMODE\Setting.c(47): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "char *__restrict__"
                  strcpy(SELECT_S, "1111111111");
..\HARDWARE\SETMODE\Setting.c(79): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "char *__restrict__"
                                          strcpy(SELECT_L, "1111");
..\HARDWARE\SETMODE\Setting.c(99): warning:  #167-D: argument of type "u8 *" is incompatible with parameter of type "char *__restrict__"
                                  strcpy(SELECT_L, "1111");
..\HARDWARE\SETMODE\Setting.c(44): warning:  #177-D: variable "Set_Key" was declared but never referenced
                  u8 Set_Key, line = 1, OK = 0, SELECT_L[4], SELECT_S[10];
..\HARDWARE\SETMODE\Setting.c(44): warning:  #177-D: variable "OK" was declared but never referenced
                  u8 Set_Key, line = 1, OK = 0, SELECT_L[4], SELECT_S[10];
..\HARDWARE\SETMODE\Setting.c: 15 warnings, 0 errors
compiling timer.c...
linking...
.\CE.axf: Error: L6218E: Undefined symbol MY_NVIC_PriorityGroup_Config (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol Set_PointFre (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol _return (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol delay_init (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol delay_ms (referred from main.o).
.\CE.axf: Error: L6218E: Undefined symbol SinAmp (referred from ad9959.o).
.\CE.axf: Error: L6218E: Undefined symbol SinFre (referred from ad9959.o).
.\CE.axf: Error: L6218E: Undefined symbol SinPhr (referred from ad9959.o).
.\CE.axf: Error: L6218E: Undefined symbol draw_circle_8 (referred from lcd.o).
.\CE.axf: Error: L6218E: Undefined symbol swap_int (referred from lcd.o).
.\CE.axf: Error: L6218E: Undefined symbol SweepFlag (referred from timer.o).
.\CE.axf: Error: L6218E: Undefined symbol SweepMaxFre (referred from timer.o).
.\CE.axf: Error: L6218E: Undefined symbol SweepMinFre (referred from timer.o).
.\CE.axf: Error: L6218E: Undefined symbol SweepStepFre (referred from timer.o).
.\CE.axf: Error: L6218E: Undefined symbol SweepTime (referred from timer.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 15 error messages.
".\CE.axf" - 15 Error(s), 18 Warning(s).
定义变量的话是在相应文件中写上这样的嘛比如说extent  MY_NVIC_PriorityGroup_Config
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 20:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表