这几天在使用stm8s003MCU进行嵌入式开发,之前没用过stm8系列的MCU,在使用过程中不免遇到很多问题,本文讲述的即是开发过程中一个问题。在使用stm8s003编程过程中,使用了官方的库文件,在进行build时候,报了一个error:segment .text size overflow。经过查阅资料才发现之所以出现本错误是因为代码长度超过了MCU的flash。因为stm8s003的flash为8KB,而我的代码长度超过了8KB。实际上,在使用官方库进行编程时,官方库中好多代码实际上没有用到,所以可以将这些库中未使用到的代码函数不编译进自己写的代码。具体操作如下:
STVD操作
为什么这样操作可以呢?
split function,顾名思意,将不同函数分开编译,不进行合并优化,这样,在最后链接时,未使用函数就不会链接进来,官方库中实际有大量未使用函数。