在用如标题所示的编译器进行AVR atmega8软件编写调试的时候遇到了一些问题,因为atmega8的 flash只有8K,现在要用此单片机实现的功能比较多,做到后面功能的时候发现flash的空间已经不足了,查看编译设置option知道可以通过设置Optimization level来解决此问题,原来设置的是None (Best debug support),编译后的代码比较大,接近8K了,后来索性直接设置为High (Maximum optimization),这样设置后发现编译后的代码变为5K了,非常开心,结果把可执行文件写到单片机中运行的时候发现程序运行不正常了,数码管乱跳,设置为Low的时候代码大小和NONE差不多,单片机运行无恙;
请朋友们帮忙分析下可能是什么原因引起的, 注:High (Maximum optimization) 下面包含的6个选项都被我选上了
|