报错:attributes are not compatible with the provided attributes

现象:

.\Objects\1_16Thermopile.axf: Error: L6366E: tpil16t_lib.o attributes are not compatible with the provided attributes .

Object tpil16t_lib.o contains Build Attributes that are incompatible with the provided attributes. 

Tag_CPU_arch = ARM v7 (=10) 

Tag_CPU_arch_profile = The microcontroller profile 'M' (e.g. for Cortex M3) (=77) 

Tag_THUMB_ISA_use = Thumb2 instructions were permitted (implies Thumb instructions permitted) (=2)

 

报错原因:Cortex M0内核的芯片,调用Cortex M3内核芯片生成的Lib库,导致不兼容。

解决办法:重新生成Cortex M0内核的Lib库。或者更换为M3内核的芯片^_^

 

如:使用keil生成lib库时,选择芯片是stm32f103系列的Cortex M3内核芯片。调用lib库时,芯片使用的是stm32f030系列的Cortex M0内核芯片。则会报错。

解决办法1:将lib库生成时的芯片型号改为stm32f030系列芯片

解决办法2::在调用的时候,使用stm32f103系列芯片,就不会报错。

解决的关键是内核统一,跟ST/MM/GD等厂商型号没关系。

 

经验总结,如有错误,如有更准确的答案,欢迎评论区指出。共同进步……

你可能感兴趣的:(STM32问题集锦,内核,stm32)