Keil ARM 编译出错 急解决方法

Keil ARM 编译出错 急!!!
我在keil arm 中写了几千行程序 里面涉及到sin cos tan 以及液晶显示这些 编译的时候提示
多行
.\Obj\main.axf: Error: L6406E: No space in execution regions with .ANY selector matching sin_i.o(.constdata).
.\Obj\main.axf: Error: L6406E: No space in execution regions with .ANY selector matching printf1.o(x$fpl$printf1).
.\Obj\main.axf: Error: L6406E: No space in execution regions with .ANY selector matching log.o(i.log).
一行
.\Obj\main.axf: Error: L6407E: Sections of aggregate size 0x3508 bytes could not fit into .ANY selector(s).
请各位帮忙解决 不胜感激

------解决方案--------------------
这个很显然吧
提示空间不足

那么你应该用精简库进行替代,具体要查手册
比如用精简的C库替代标准C库
用-Os编译也可尝试

最后终极方法是修改linker脚本,比较麻烦