1、Fatal Error[Pe1696]: cannot open source file core_cmInstr.h 2、Warning[25]: Label 'Reset_Handler' is defined pubweak in a section implicitly declared ...
1、Fatal Error[Pe1696]: cannot open source file core_cmInstr.h
STM32F10x_StdPeriph_Driver 3.4庫移植換成3.6.1庫時 出現 Fatal Error[Pe1696]: cannot open source file "core_cmInstr.h"
3.6.1庫取消了 core_cm3.c 文件 ,增加了 core_cmFunc.h core_cmInstr.h 文件,只要將這兩個文件添加進來即可。
2、Warning[25]: Label 'Reset_Handler' is defined pubweak in a section implicitly declared root
IAR編譯STM32的M3,早期的版本,需要使用core_cm3文件,6版後就不使用它了。
在使用6版的編譯成功的項目,現在使用7.1編譯,就會出警告,
它來自:startup_stm32f10x_hd.s
文件內容:Warning[25]: Label 'Reset_Handler' is defined pubweak in a section implicitly declared root等信息
如果將startup_stm32f10x_hd.s在項目中去掉,編譯將沒有任何警告及錯誤
這是可以省去startup_stm32f10x_hd.s文件的節奏?
解決辦法
After upgrading to EWARM 7.10.1 the Warning[25] is issued during assembly of a file that assembled without warning
on earlier version of EWARM.
The assembler (iasmarm) is (from EWARM 7.10.1) issuing Warning[25] for a deprecated assembler construction.
The deprecated assembler source construction looks like this:
PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER(1)
NMI_Handler
B NMI_Handler
To avoid the warning, add ":NOROOT" to the "SECTION" statement:
PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
NMI_Handler
B NMI_Handler