这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » ARM常见错误及解决方法(三)

共3条 1/1 1 跳转至

ARM常见错误及解决方法(三)

工程师
2020-12-16 12:13:35     打赏

L6200E .\Objects\StmHdmi0404Main.axf: Error: L6200E: Symbol Reset_Flag_Bit multiply defined (by variable.o and hal.o).
修改Reset_Flag_Bit多出定义,在variable.o and hal.o存在,修改:去掉赋值部分(我的是直接删除其中一个)
可能存在现象:应该是定义变量定义在头文件,修改:头文件的删除,在对应.c文件定义
定义的变量需要在其它.c/.h使用,.c中定义了,修改:需要添加extern

#137 …\HARDWARE\UART\Uart.c(469): error: #137: expression must be a modifiable lvalue
Mail_ACK_Low();
修改

#550-D …\HARDWARE\IIC\iic.c(3): warning: #550-D: variable “Port_SDA” was set but never used
static uint8_t Port_SDA,Port_SCL,PIN_Sda,PIN_Scl;
修改:变量已设置,但没有使用,可以改为定义时加上volatile

#247 …\HARDWARE\IIC\iic.c(183): error: : function “IIC_Write_Byte” has already been defined
uint8_t IIC_Write_Byte(uint8_t str)
修改:重复定义了函数

#1295-D …\HARDWARE\TIME\time.h(114): warning: #1295-D: Deprecated declaration NOP - give arg types
void NOP();//10
修改:无参函数NOP(),声明时括号缺少void关键字

L6304W …\HDMI1602_Firmware\SiI9687_1_4.axf: Warning: L6304W: Duplicate input file …\hdmi1602_firmware\main_1.o ignored.
Program Size: Code=52680 RO-data=5472 RW-data=1876 ZI-data=7356
修改

#136 main.c(135): error: #136: struct “” has no field “GPIO_OType”
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
修改:

L6236E .\Objects\project.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
Not enough information to list image symbols.
Not enough information to list the image map.
修改

#69-D main.c(58): warning: #69-D: integer conversion resulted in truncation(整数转换导致截断)
Led_Refresh_En(250,60000);
修改:个人猜测应该是括号里的数据超出定义类型的范围

#31 main.c(73): error: #31: expression must have integral type
switch(USART2_IRQHandler())
修改switch括号里的变量要整型数

#268 …\HARDWARE\src\uart.c(196): error: #268: declaration may not appear after executable statement in block
uint8_t USART2_Handler(void) //
串口2中断服务程序
修改:该函数缺少了“}”,在第196行前加上,一般#268#67一起出现
修改:声明在执行语句后,将声明语句放到最前

#67 …\HARDWARE\src\uart.c(196): error: #67: expected a “}”
uint8_t USART2_Handler(void) //
串口2中断服务程序
修改:在第196行前面少了“}”
#7 #67 #40一起出现时,存在中文符号,修改后还存在#7 #29 #2969-D,我的是将后面的换行符删除,就是格式不正确导致的现象,我也不太清楚,因为代码的上一行和下一行可以使用换行符的
原:0x20, 0xF8, 0x14, 0xFB, 0x98, 0xB9, 0x57, 0x00, 0xC0, 0x09, 0x14, 0xFB, 0x05, 0x00, \
改:0x20, 0xF8, 0x14, 0xFB, 0x98, 0xB9, 0x57, 0x00, 0xC0, 0x09, 0x14, 0xFB, 0x05, 0x00,

#109 …\HARDWARE\src\uart.c(131): error: #109: expression preceding parentheses of apparent call must have (pointer-to-) function type(显式调用前括号的表达式必须具有(指针到-)函数类型)
data=Check_Mail_ACK();
修改

#42 headware\simulation_uart.c(94): error: #42: operand types are incompatible (“uint16_t” and “uint8_t *”)(操作数据类型不兼容)
if(USART_ReceiveData(USART2) == buf)
修改:需要强制转换成另一个类型

#7 main.c(32): error: #7: unrecognized token
CUart_Simulation_Print(0, 0xFF, 0xFF)

修改:存在不可见字符,中文字符等,找到该行修改或删除 修改:存在不可见字符,中文字符

到该行修改或删除

欢迎跟帖留言~




关键词: 修改     error    

工程师
2020-12-16 22:33:17     打赏
2楼

解决方法还是不错的


工程师
2020-12-17 07:08:32     打赏
3楼
多多支持

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]