最近需要在stm8s207CB 上进行开发,然后搭建开发环境,stvd+cosmic,一开始还是好好的,但后来代码写着写着,突然间发现uart不进中断了,百思不得其解,尝试着把某些函数屏蔽掉,发现好了,进函数里面看看,看到里面用到一些指针赋值这类的语句,估计是指针用错了导致了这样的问题,然后把语句改改,好了,然后就不管它了,但之后又遇到这样的问题,不过是在其他的函数里面,但该函数里面怎么看也没什么可以出错的地方,然后我尝试着把最下面的几条语句注释掉,uart又可以进中断了,但神奇的是我注释掉的那几条语句和我没注释那几条是差不多的,所以排除是语句出错,后来发现,其实不单只uart1进不了中断,是连main()都进不去了!然后查看.map文件,算了下,.debug的信息占了差不多80k,跟着我就试着不用在线调试,发现uart1还是可以正常收发的,所以我猜测是:stm8s207cb的flash大小是128k,debug的信息占用了太多的空间,结果不能在线调试,我网上没找到类似的说法,不知道我的猜测对不对,请各位大侠指条明路~~ |