当前位置:首页 > 技术心得 > 正文内容

SensorTag编译错误Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.

xjtudll9年前 (2017-12-10)技术心得10130

问题

IAR 8051 8.302,编译TI的BLE-CC254x-1.4.0的SensorTag工程,对此工程没有进行任何改动,直接编译,出现如下错误:

分析

参考TI技术论坛【http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/51684.aspx

从讨论得知是IAR的配置问题

故需修改IAR工程配置

解决

依次打开Project -> Options -> General Option -> Target,在Target标签中找到“Number of virtual”,原来默认为16,修改为8。如下:

重新make SensorTag工程,编译成功。

类似的,其他BLE工程,如SimpleBLEPeripheral等,编译时出现同样的错误,按照上述解决方法,即可解决。

 

 

 


74f5cc97-c063-4f0f-b613-f78f80a34976

 


 


http://bbs.eeworld.com.cn/thread-420601-1-1.html


IAR 8.3以后的版本编译TI BLE Stack会报类似如下的错误

  1. 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 
  2. 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"

解决办法是:
找到

  1. C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl

把里面的

  1. -Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F

这一句  改成

  1. -Z(DATA)VREG=08-7F

 

参考资料:

http://blog.csdn.net/zhangjs0322/article/details/34108663

 

 

 

 

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/51684.aspx

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/483/

标签: BLECC254x
分享给朋友:

“SensorTag编译错误Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.” 的相关文章

Win7 64bit安装usb blaster驱动

Win7 64bit安装usb blaster驱动

前面我就不讲了,直接到驱动搜索这一步。如下: 选择第二项“浏览计算机以查找驱动程序软件”; 关键步骤到了,很容易出错,导致无法安装成功 在下图中一定要将驱动程序位置设置为 “D:\altera\90\quartus\drivers\usb-blaster...

IAR如何生成Hex文件

IAR如何生成Hex文件

MSP430在用JTAG下载的时候,Hex文件是用不上的。但是如果用Proteus仿真的话(只有Proteus 7.6及其以上版本才支持MSP430仿真),只支持Hex文件仿真,所以有必要输出Hex文件。 打开IAR的工程选项,选中左边栏的Linker,如图所示。 勾中【Output file】...

略坑的STM8L IO外部中断

略坑的STM8L IO外部中断

问题: STM8的GPIO中断,如何判断是哪一个IO中断的? STM8只有一个总的GPIOX(ABCDE)中断,怎么判断是哪个引脚呢? 解决办法: 在设计硬件电路的时候就要注意这个问题,能分散开的就分散开。 至于有的人说的在中断中查询IO电平来判断是哪个IO,那是有缺陷的 例如,一个上升沿中断,脉...

位运算——交换两个数

交换两个数 交换两个数相信很多人天天写过,我也相信你每次都会使用一个额外来变量来辅助交换,例如,我们要交换 x 与 y 值,传统代码如下 int tmp = x; x = y; y = tmp; 这样写有问题吗?没问题,通俗易懂,万一哪天有人要为难你,**不允许...

找回丢失的“显示桌面”图标

Windows快速启动栏里面有个“显示桌面”的图标,点击图标就能快速切换到桌面,这个用起来很方便,当然用Windows+D快捷键也能实现该功能,不过对于我这种习惯用鼠标点击的人来说,还是“显示桌面”这个用起来爽。今天,一不小心,将“显示桌面...

模数转换器的分类

直接ADC是将输入模拟电压直接转换成数字量,如并联比较型ADC和逐次比较型ADC; 间接ADC是先将输入模拟电压转换成时间或频率,然后再把这些中间量转换成数字量,如双积分型ADC。 并联比较型ADC 优点:采用各量级同时并行比较,各位输出码同时并行产生,因此转换速度快,转换速度与输出码位数无关...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。