开发环境:用CC2530开发,已经安装了IAR7.51A和ZStack-CC2530-2.3.0-1.4.0-1协议栈。
问题发生的背景:在实验室项目的开发过程中,我直接移植了师兄修改好的例程(把整个ZStack-CC2530-2.3.0-
1.4.0-1协议栈拷贝在我自己的电脑,没有特别放在哪个路径下,很随意的选了个地方)。
问题描述:因为实验室的大牛师兄对协议栈进行了深度的开发,所以前期我的注意力集中在看懂程序上。当我终于
有信心自己也能改那么两行代码,问题出现了,在将师兄的程序rebuild的时候,IAR居然显示不-能-编-译!给出的原
因是IAR没有被激活还是怎么滴(没有截图真是不甘心啊,我现在都忘了那些个错误是怎么说的了)……
这种情况下我就想当然的认为是IAR在破解的时候出问题了,所以呢我就把原来的IAR卸载、重装。然后,居然,在
编译的时候还是显示同样的问题!
无奈之下,再次卸载、重装,试了好多个注册机激活码,还是不行……最后没办法了,向大牛师兄求救……大牛师
兄看了我的IAR License,跟我说,你这个没有破解
我一看,是哦,大牛就是不一样,一下子就发现我这些激活码的registered状态不是No就是Unknown,看来果然是
激活的问题,盗版软件害死人哪~可是同样的安装包和注册机,怎么就没发现别人有问题呢?近至实验室的师兄师
姐,远至百度搜索问题,都没有一样情况的,就我的电脑点背啊?
然后大牛师兄说,估计是你系统有问题,你看你的盗版系统被微软发现了(不知道什么时候起,我的电脑右下角就
会弹出微软的警告,让我去认证系统,果然,盗版系统也害死人啊~),重装系统吧。然后大牛师兄就任劳任怨的
给我重装系统,还是英文正版的哦,感谢师兄^0^~
本以为这下该没问题了吧?但是,在师兄终于装好系统之后(嗯嗯,用一个叫老毛桃的软件,能把U盘变成启动盘
哦),再一次安装IAR,然后怀着忐忑的心情点开IAR License,尼玛,居然还是这样?
此时已经折腾了快一天了,大牛师兄非常无奈的说,怎么就你有这个问题呢?估计是你的电脑硬盘有问题吧……我
实在是没别的办法了,你去换台电脑然后再试吧……
问题解决:写了一堆,除了显示师兄是大牛而且是个大好人之外,貌似没什么了……然后就到了第二天,也就是今
天。早上的时候,我自己不甘心,就在什么都不知道的情况下各种改编译器的配置,无果……
下午,已经放弃了的我只能屁颠屁颠的背着自己的笔记本到了实验室,然后,重复之前的动作,安装IAR。到了这时
候,不能再有问题了吧?
我再一次在笔记本上打开IARLicense,额,居然,果然,还是这样…………
难不成,其实从始至终,IAR都是正确安装的?我试着点开了CC2430的协议栈例程,编译……尼玛,居然没问题!
再打开CC2530的另一个例程,果然编译还是有问题啊……
嗯?难道原来是协议栈的问题吗?那重装协议栈好了~此时的我,突然想到一个问题,协议栈之前不是装过了吗?但
是我没用里面的例程啊,我是拿师兄的协议栈例程改的啊……
长话短说了,的确是协议栈的问题,在默认安装的协议栈下运行例程,用IAR编译的时候是没有问题的,但是用了师
兄的放在另一个路径的协议栈,在编译时就会有上述的问题了。最终的结果是,依然在大牛师兄的指导下,把原来
的协议栈卸载了,然后重新拷贝了一份修改后的协议栈,放在一个随意的路径下在运行,就能顺利编译了。
我果然是个话唠,其实很简单的解决办法被我写了这么长(喂,花了两天时间才解决这个问题好嘛!)
总结:当已经安装协议栈之后,又移植了修改后的另一个协议栈,然后在想要顺利编译后一个协议栈中的例程时,
就得删除原来安装的协议栈。(所以最后得到的问题原因是,有可能是两个协议栈冲突了。)