IAR FOR 8051 version 8.1,编译CC2541的SBP的demo出现fatal error错误,求助!
iar 编译出现以下问题。
Fatal Error[e72]: Segment SLEEP_CODE must be defined in a segment definition option (-Z, -b or -P)
以下方法我都用过:
1.重装iar for 8051(version 8.10.4),对应ble协议栈1.3.2;
2.options 选项中我设置是正确的,options>linker>linker configuration file>......\lnk51ew_cc2541F256_banked.xcl
3.如果2.中的options 设置为options>linker>linker configuration file>......\ti_51ew_cc2540b.xcl,则编译无错误,但是无法下载
建议用ble stack 1.42版本,iar for 8051用9.1
版本试试。
这个报错经常是IAR版本问题,请根据协议栈安装文件夹下的release note选择合适的IAR版本。
另外建议您修改
Project-->options-->General options-->Target下的Number of virtual Registers,将16改成8试试
希望对您有所帮助,谢谢!
首先,options设置linker>linker configuration file>......\lnk51ew_cc2541F256_banked.xcl
其次,将Number of virtual Registers的16 改成8.
最后,还是会出现 编译的那个问题。
但是,如果我设置为linker>linker configuration file>BLE-CC254x-1.3.2\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl.
则编译没有错误。真的是需要比较高的iar版本吗?
过几天我去试试再给你回复。 这么新的协议栈版本以及iar版本。