EW8051-8302编译CC2540官方例程时出错的解决办法

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

          

posted @ 2015-01-18 11:30  飞一般炒饭  阅读(838)  评论(0编辑  收藏  举报