×
单片机 > 单片机程序设计 > 详情

Keil MDK (LPC2387)编译出现的警告和错误解决

发布时间:2024-05-18 发布时间:
|

这个基于LPC2387的KEIL版本程序是下载的CSDN网络资源,感谢这位朋友的分享。但是初次编译之后,有8个警告,没有错误。


修改警告之后,又会有其他警告出现,然后再作修改,针对每个警告及解决方法作出说明。


ZY_CODEARMOs_cpu_a.s(127): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoInt | SYS32Mode) ;切换到系统模式

解决方法:把"|"修改为 “:OR:”, 如下

MSR CPSR_c, #(NoInt :OR: SYS32Mode) ;切换到系统模式


ZY_CODEARMOs_cpu_a.s(223): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoInt | SYS32Mode)

解决方法:同上

MSR CPSR_c, #(NoInt :OR: SYS32Mode)


ZY_CODEARMOs_cpu_a.s(232): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoInt | SYS32Mode)

解决方法:同上

MSR CPSR_c, #(NoInt :OR: SYS32Mode)


ZY_CODEARMOs_cpu_a.s(261): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoInt | SVC32Mode) ;进入管理模式

解决方法:同上

MSR CPSR_c, #(NoInt :OR: SVC32Mode) ;进入管理模式


ZY_CODEARMOs_cpu_a.s(290): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoInt | SYS32Mode)

解决方法:同上

MSR CPSR_c, #(NoInt :OR: SYS32Mode)


ZY_CODEMiniARM2300Startup.s(144): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

ZY_CODEMiniARM2300Startup.s: at line 59 in macro HANDLER in ‘.ZY_CODEARMirq.inc’

这个在KEIL中定位不到,根据第二行可以知道在irq.inc文件的第59行,查找HANDLER即可

部分源代码:

MSR CPSR_c, #(OSNoInt | OSSYS32Mode) ; 切换到系统模式

解决方法:同上

MSR CPSR_c, #(OSNoInt :OR: OSSYS32Mode) ; 切换到系统模式


这边对应三个地方需要修改,不一一赘述


ZY_CODEMiniARM2300VIC_Control.s(98): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoFIQ | NoInt| SVC32Mode)

解决方法:同上

MSR CPSR_c, #(NoFIQ :OR: NoInt:OR: SVC32Mode)


ZY_CODEMiniARM2300VIC_Control.s(122): warning: A1876W: Use of ‘|’ as a synonym for the :OR: operator is deprecated.

部分源代码:

MSR CPSR_c, #(NoFIQ | NoInt| SVC32Mode)

解决方法:同上

MSR CPSR_c, #(NoFIQ :OR: NoInt:OR: SVC32Mode)


这边类似的也有几处,就不一一赘述了。


ZY_CODEMiniARM2300Startup.s(216): warning: A1608W: MOV pc, instruction used, but BX is preferred



类似的还有几处,就不一一赘述了。


uCOSIIos_task.c(370): warning: #177-D: variable “self” was declared but never referenced

部分源代码:

BOOLEAN self;

解决方法:

注释掉即可


希望这篇文章对相关人员有一定借鉴作用。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析