用IAR 8051 8.30.2 编译 BLE- CC254X_1.4.0里的例程,怎么什么也没有动,就编译出错
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0x7 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:47-ff"
Reserved ranges relevant to this placement:
IDATA:8-1f VREG
IDATA:21-3f VREG
IDATA:40-41 XSP
IDATA:42-42 DATA_I
IDATA:43-44 DATA_Z
IDATA:45-46 IDATA_Z
IDATA:47-ff ISTACK
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
BIT:e8-ef SFR_AN
BIT:f8-ff SFR_AN
Error while running Linker
哈哈,都有8.30.2啦?我用8.20.2编译没有问题。
谢谢回答。去下个去
现在有8.30.2了?哪里下载呀
用8.2编译完全OK呀
Error訊息已告知,只要將IAR中之Stack/Heap之目前設定值(0xC0),改為0xB9 = 0xC0 -7,即可。
如何改,請參閱附件,謝謝。
找到
C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl
將下面
-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
改成
-Z(DATA)VREG=08-7F
即可修正 TI BLE Stack Too Long 問題
I can work with this way, try it~
Project -> Option -> General Option -> Target Tab
Modify : Number of virtual registers, from 16 --> 8.
Works! thank you ! Could you tell me a little why?
youwei,
sabi‘s way should work.
the problem is caused by IAR, please update to latest version of IAR.
这个是IAR引起的问题,建议更新到最新的IAR版本。
嗯,好的谢谢
按你的要求改了8,好家伙,原来只报一个错,现在报33个错了。
1、TI 的1.4的协议栈用的IAR是8.2的版本开发的,所以用高版本开发会有问题,需要改动一些东西,如下所示:
2. 可以在下面的链接参考一下,有详细的描述
http://processors.wiki.ti.com/index.php/LPRF_BLE_Porting_Projects
3、希望可以帮到你,祝你好运!