Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0xe more bytes needed. The problem occurred while processing the segment placement command "-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at the moment of placement the available memory ranges were "IDATA:4e-ff"
安装好EW8051-8302和BLE-CC254x-1.4.0后用EW编译CC254x协议栈的例程时出现上述问题,经网上搜索解决办法有以下两种:
1、右键工程选Options,在General Options选项卡里把左下角的Number of virtual由16改为8
2、找到协议栈安装路径下的..\BLE-CC254x-1.4.0\Projects\ble\common\cc2540,打开ti_51ew_cc2540b.xcl,
将第155行的-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
改为-Z(DATA)VREG=08-7F即可
以上两种方法选择其中一种修改即可,已验证可以解决问题。
原文链接:http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/51684.aspx
时间: 2024-10-12 07:19:41