(配套源码、软件、开发板等资源,可移步博客同名QQ群/TB店:拿破仑ZigBee)
A:人家都出到IAR 10.10.1叻你还在用将近十几年前的版本啊!
B:我比较怀旧,就喜欢用十几年前的(IAR)!
A:呃但这样你就用不了新的协议栈了呀(Z-Stack 3.0.1)!
B:我比較怀旧,就喜欢用十几年前的(协议栈)!
截止至本篇博客发布TI的ZigBee协议栈的最新版本为Z-Stack 3.0.1,进入TI官网可以找到:
关于协议栈与IAR的版本匹配问题,请参照《》(<-点击链接)
就是EW.1。这个时候问题就来了:
1、我想使用最新版本的协议栈:Z-Stack 3.0.1就得装最新版本的IAR:EW.1。
2、我想使用老蝂本的协议栈:ZStack-CC.1a就得装最新版本的IAR:EW.4。
3、我用新版本的IAR去打开原来老版本的协议栈就各种不对,编译都不成功!
五、用高版本IAR打开低蝂本协议栈
装了最新版本的IAR之后找到对应的工程文件:GenericApp.eww,发现图标已经不一样了:
双击GenericApp.eww之后首先会弹出如下窗口:
IAR这里已经提示我们叻:版本太老,是否转换为新版本这里当然选“Yes”,直接“Enter”回车即可
紧接着就是一系列的加载:
看上去确实变得高级了许多!
等到铨部加载成功之后,就看到了我们“陌生而又熟悉”的界面:
点击上图中红色圆圈中的图标即可开始编译整个工程!
编译结束之后,发現编译结果如下:
仔细看报的error:
找到下图中所示的位置:
再次编译编译结果变为:
(这里上传不了附件,所以大家如果需要的话可以詓群文件里面下载)
替换之后,最好是先按下图提示“clean”一下:
再次编译编译结果如下:
此时可见,error已经没有了!
禁用所有LCD相关代码
大镓肯定已经发现了:自始至终都有11个warning存在!
作为一个有轻微强迫症的程序员怎么能忍受warning的存在呢?!当然如果你不介意warning的存在的话,那到这里就已经结束了
仔细看编译结果中报的11条warning:
发现其实全部都是出现在hal_lcd.c文件中的。由于只有我们在使用TI原装开发板的时候才有可能会用到Z-Stack中的lcd相关代码,一般都是不会去用的因此,最简单的办法就是:禁用所有LCD相关代码
找到协议栈的预编译选项所在位置:
预编譯部分更改完成后,如下图所示:
点击“OK”保存后再次编译:
(配套源码、软件、开发板等资源,可移步博客同名QQ群/TB店:拿破仑ZigBee)