晚上老板又亲自来抓壮丁,没办法,只好继续调试我们那可爱又可恨的电路板。
前两个小时,莫名其妙的问题在继续,最后竟然连仿真器都连不上了。外部电压也不稳定。
用了两块板子,一块是把所有器件都焊好的,一块是只焊了ATmega 128。
上次出现函数调用无法实现的原因在于:堆栈问题!!!ATmega103和ATmega128的堆栈大小不一样,而默认128是兼容103的,在调试器件完整的板子时没有设置非103兼容模式,结果STD和返回指令肯定出错。
走的弯路:起步没做好,看来涉及到系统级的东西还是得一步一个脚印踏实的走,不要想当然。
仍然存在的疑惑:不知道为什么有时候连不上,有时候连的上?为什么发送数据时要先单步运行才能全速运行?否则数据发送不对。为什么step out时经常会step in?51和AVR都是如此。
现在的成果:验证了外围AVR和DM9000A的电路是通的。现在单片机发送数据包可以用sniffer正确接收到,一下前进了一大步。
下一步的工作:先验证收包是否正确,然后调试语音芯片,再调试CC2420芯片,不知道在毕业前能否调试完毕。
其它工作:论文上次开会写了提纲,自己的MAC算法一直没时间好好整理,有时间写出来,师弟们以后评奖学金用的上。学Ruby,准备自己的网站,业余爱好,虽然道路很辛苦,一定会。今天刚借了一批xDSL的书,准备为以后工作做准备吧,不能只拿钱不干活。
加油加油,hoho