微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Fatal Error: Segment LOCK_BITS_ADDRESS_SPACE must be defined in a segment definition option (-Z, -b or -P) ?谢谢!

Fatal Error: Segment LOCK_BITS_ADDRESS_SPACE must be defined in a segment definition option (-Z, -b or -P) ?谢谢!

时间:10-02 整理:3721RD 点击:

技术人员、同仁:

       你们好!最近在整zigbee协议栈,从官网上下了代码,编译连接时遇到标题中问题,问题描述进一步如下:

1、问题描述

       Zigbee  协议栈

       软件环境:在IAR8051 9.10版本下;

       程序: Z-Stack Home 1.2.0 文件中程序 “SampleLight.eww”

2、编译通过,连接时提示“Fatal Error[e72]: Segment LOCK_BITS_ADDRESS_SPACE must be defined in a segment definition option (-Z, -b or -P)”,请问这是为什么?编译前什么都没修改和设置! 

需要添加预编译宏 

把 MAKE_CRC_SHDW 放到C/C++ Compiler->Preprocessor->Defined Symbols

技术,同仁:

  你们好!

按照你所说的,设置加入后出现如下编译连接提示:

 “MAKE_CRC_SHDW“编译又提示”Fatal Error[e72]: Segment CRC_SHDW must be defined in a segment definition option (-Z, -b or -P)“

OnBoard.c程序中有如下代码行:

#if defined MAKE_CRC_SHDW
#pragma location="CRC_SHDW"
const CODE uint16 _crcShdw = 0xFFFF;
#pragma required=_crcShdw

#elif !defined MT_UBL_FUNC

#pragma location="LOCK_BITS_ADDRESS_SPACE"
__no_init uint8 _lockBits[16];
#pragma required=_lockBits

”CRC_SHDW“和”LOCK_BITS_ADDRESS_SPACE“应该有值吧?它们的定义可以在哪里找到了?

你好!

试了你所说的方法,编译连接提示”Fatal Error[e72]: Segment CRC_SHDW must be defined in a segment definition option (-Z, -b or -P)“?

OnBoard.c程序中

#if defined MAKE_CRC_SHDW
#pragma location="CRC_SHDW"
const CODE uint16 _crcShdw = 0xFFFF;
#pragma required=_crcShdw

#elif !defined MT_UBL_FUNC

#pragma location="LOCK_BITS_ADDRESS_SPACE"
__no_init uint8 _lockBits[16];
#pragma required=_lockBits

”CRC_SHDW“和”LOCK_BITS_ADDRESS_SPACE“定义从哪里可以找到?

谢谢

可以参考下这个帖子 https://e2e.ti.com/support/wireless_connectivity/f/158/p/97847/385267 

IAR版本太新了,你看下协议栈安装目录下的Release Note,里面有IAR的版本需求,你换一个

在工程配置的linker->config->linker configration file勾选override default,路径改为...zstack\Tools\CC2530DB\cc2530-sb.xcl。我是这么解决的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top