我的os是winxp,安装了avrgcc,编译的文件是网络上下载的usbisp的源程序.有两个问题很郁闷.
原来的程序嵌入文件用的是include "isp.h".编译后发现程序提示isp.c当中定义的函数没有定义.d:\designed\_test\_usbisp程序分析\usbavrisp\firmware/main.c:76: undefined reference to `ispSetSCKOption' 现在将该语句改为include "D:\Designed\_Test\_USBISP程序分析\USBAVRISP\firmware\isp.c"以后编译成功,当中的改动一是改成了全路径文件名,第二是将isp.h文件改成了isp.c.我看了源程序,isp.c当中指定嵌入isp.h头文件,而isp.h文件当中没有嵌入isp.c文件,如果按照源文件的定义,main文件嵌入了isp.h文件以后应该没有嵌入isp.c文件,那么所有关于isp的函数都只有定义而没有函数的实际功能.但是源程序的确是嵌入*.h文件而没有嵌入*.c文件的.
另外一个问题是编译程序提示当中表示目录的斜杠变反了.源程序当中也出现了不同于win系统的斜杠,如:include <avr/io.h>编译的提示当中也会出现同上面的提示一样混合斜杠.如上面提示当中的main.c前面的就是"/".现在编译通过了,但是这样的提示总是叫人放心不下.
|