以前看了一下关于将MANTIS OS(MOS)的东西,如果你没有MIB510的话,是不能把程序直接下载到节点上的.因为你用原来的makefile是编译生成 .srec 文件的,不能用jtag ice 或者ISP 下载滴,参考了一下tinyos里面的Makerules.文件,加上了看一下人家写的一些总结.稍微修改一下就KO了.
我自己装的是cygwin,其实在linux下也是差不多的没有什么不一样的.
进入 C:/mantis/mantis-1.0-beta/src 路径,找到一个叫 Makefile.am.inc 的文件,用记事本的什么打开,不过最好是用UltraEdit什么的打开好一些.如果你用UltraEdit带开的话,不要让他转化为DOS格式,避免以后可能有麻烦.毕竟,这是linux才用的makefile,转化它成为DOS格式干什么.找到下面这几行:
把它们改成
其实就是分三步:
第一:先把这一行 all: $(BUILT_APPS) $(BUILT_APPS:.elf=.srec) 中的 srec 改成 hex
第二:把clean: rm -rf *.srec *.elf *.o 里面的 srec 也改成 hex
最后:看你用的节点是什么平台,然后把再改一下你节点相应平台的那一行就可以了,如你的节点是micaz,那么你相应的平台就是 ARCH_AVR ,那你就要把
if ARCH_AVR
%.srec: %.elf
avr-objcopy --output-target=srec $^ $@
改成
if ARCH_AVR
%.hex: %.elf
avr-objcopy --output-target=ihex $^ $@
endif
注意了,output-target 后面是ihex ,不是 hex .
这样一改,就预示着你可以不用通过mib510去下载程序到节点了,可以用一般的方式,比如说isp什么的,因为它们都生成了.hex格式的文件了.
上面的这些还是没完工的.
你还要做那么一步
在cygwin中转到C:/mantis/mantis-1.0-beta路径,找到一个叫 autogen.sh 的文件.我们从这个路径开始工作,
等着吧,要几分钟的,最后The previous commands will build the MOS kernel and all applications for micaz The image is now located in build/micaz /src/apps/. 然后选你想test的程序,烧写吧.
参考: http://mantis.cs.colorado.edu/index.php/tiki-read_article.php?articleId=6
http://www.netology.cn/bbs/Announce.asp?boardid=4&announceid=28731
http://blog.csdn.net/piaoxiangxinling/archive/2006/09/22/1266162.aspx