最新协议栈取消MT_TASK无法编译?
时间:10-02
整理:3721RD
点击:
我刚下了最新的协议栈(Z-Stack Home 1.2.2a.44539),使用SampleSwitch例程,把MT相关的预编译取消掉
预编译如下:
SECURE=1 xTC_LINKKEY_JOIN xNV_INIT xNV_RESTORE xHOLD_AUTO_START ZTOOL_P1 xMT_TASK xMT_APP_FUNC xMT_SYS_FUNC xMT_ZDO_FUNC xLCD_SUPPORTED=DEBUG MULTICAST_ENABLED=FALSE ZCL_READ ZCL_WRITE ZCL_REPORT ZCL_EZMODE ZCL_BASIC ZCL_IDENTIFY ZCL_ON_OFF ZCL_DIAGNOSTIC FEATURE_SYSTEM_STATS
然后我用IAR编译的时候发现编译不通过,具体如下:
Building configuration: SampleSwitch - CoordinatorEB Updating build tree... Linking Error[e16]: Segment XDATA_I (size: 0xaf align: 0) is too long for segment definition. At least 0x2b more bytes needed. The problem occurred while processing the segment placement command "-Z(XDATA)XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were "XDATA:1e7c-1eff" Reserved ranges relevant to this placement: XDATA:1-300 XSTACK XDATA:301-1eff XDATA_Z BIT:0-7 BREG BIT:80-87 SFR_AN BIT:90-97 SFR_AN BIT:a0-af SFR_AN BIT:b8-c7 SFR_AN BIT:e8-ef SFR_AN BIT:f8-ff SFR_AN Error while running Linker Total number of errors: 1 Total number of warnings: 0
请求解决方法,或者有没有方法使串口不自己添加些MT数据
P.S. 只要把MT_TASK去掉就会出现以上情况
MT_TASK使能,但是可以把MT里面的串口初始化去掉的