首先,要在BSP的makefile里面将tool=diab改为tool=gnu。
Diab和gnu是两种不同的编译工具,前者编译效率更高,后者则是更加通用。
Diab是风河的编译器,gnu是gnu的编译器。
两种工具都能在axd下调试,但使用diab编译出来的elf文件非常不稳定,用axd每三次差不多只能有一次在axd下显示出源代码;gnu则几乎是百分之百成功。
编译器优化:
在编译选项里面加-o
o1 2 s
编译选项说明。
-g 映像中是否包含调试信息。
-ansi 支持标准C语法,若想在C中用C++ 注释则去掉
-D 编译器宏定义,可用于代码条件编译,用户可定义自己的条件编译宏
-O 指定编译器优化等级,建议不使用优化
-fvolatile 防止编译器优化volatile变量相关的代码
-I 包含头文件目录,用户一般需要添加自己的
-P 预处理不产生“#line”指令
-Wall 报告所有警告,建议添加