STVD + COSMIC出现一个奇怪的问题

2019-07-19 20:36发布

本帖最后由 xiong2088 于 2017-12-1 10:42 编辑

单片机是stm8s103k,STVD只设置了与COSMIC的关联(TOOLS->Options ->Toolset,Toolset选择STM8S Cosmic,并设置相关路径),其他都是默认设置。中断的文件名也是原来的stm8_interrupt_vector,开始代码编译很正常,有3个中断程序:1、串口接受,2、ADC转换完成,3、TIM4 的1ms溢出中断。这些写完后,编译没有错误。我想在TIM4中断中加一个变量,类似STM32F0、F1中的滴答定时器,用于延时。于是把代码复制过来如下:
在timer.h中:如图1;在timer.c中,写了延时函数,如:图2。在TIM4中断函数中写了:if (sysTimer)        sysTimer--;问题就出在这句上,只要注释掉这句代码,编译没有问题,不注释就出现以下错误:

Running Linker
clnk -l"C:Program Files (x86)COSMICCXSTM8Lib"  -o Debugdc-adc.sm8 -mDebugdc-adc.map Debugdc-adc.lkf
#error clnk Debugdc-adc.lkf:1 symbol c_lgsbc not defined (Debugstm8_interrupt_vector.o )
The command: "clnk -l"C:Program Files (x86)COSMICCXSTM8Lib"  -o Debugdc-adc.sm8 -mDebugdc-adc.map Debugdc-adc.lkf " has failed, the returned value is: 1
exit code=1.

dc-adc.elf - 3 error(s), 0 warning(s)


弄了好久也没弄好,求大神指点!!

360截图20171201100222765.jpg 图1

360截图20171201100957824.jpg 图2

360截图20171201101027462.jpg 图3

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。