TI中文支持网
TI专业的中文技术问题搜集分享网站

LAUNCHXL-CC2640R2: 在Runtime Object View中提示ISR STACK overflow,如何增加ISR STACK?

Part Number:LAUNCHXL-CC2640R2

在Runtime Object View中提示ISR STACK  overflow,如何增加ISR STACK?

已经在CCS under Project->Properties->Build->Arm Linker->Basic Options, under –stack_size调整为8192,但没用。

Kevin Qiu1:

ROV截图传上来看一下,另外说明下SDK版本和使用的哪个例程

,

xie wei:

SDK是用simplelink_cc2640r2_sdk_5_30_33_03

CCS11.1

例程是blestack中的simple_peripheral

发现是simple_peripheral任务stack溢出,增加此任务stack后解决。

但是相似的问题还是存在。程序全部任务的stack尺寸相加已超过默认值4096,我增加stack先到5120后,再将某个任务的stack尺寸从1700增加到2048(因为此任务的stack快要溢出了),能编译通过,但下载后无法运行。

整个RAM空间还够用,不知道如上调整STACK方法是否成功?

,

Kevin Qiu1:

你在ROV中查看除了task stack溢出外,system stack是否溢出了?

HWI SWI使用的都是system stack,如果这部分溢出了,则需要在.cfg文件中修改system stack size

,

xie wei:

如何修改system stack size?  

Program.stack = 5120 ? 

在CCS under Project->Properties->Build->Arm Linker->Basic Options, under –stack_size调整为5120没用吗?

,

Kevin Qiu1:

xie wei 说:在CCS under Project->Properties->Build->Arm Linker->Basic Options, under –stack_size调整为5120没用吗

这通常是在没有RTOS时的配置方法,

xie wei 说:

如何修改system stack size?  

Program.stack = 5120 ?

是的

,

xie wei:

在app_ble.cfg文件中增加了Program.stack=4096(还没有设置为5120),但编译提示#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment fails for section ".stack" size 0x1000. Available memory ranges: cc26xx_app.cmd /XSJ_V2.0_cc2640r2/TOOLS line 292 C/C++ Problem

但上图SRAM应当还够用啊,不知为何这样提示。

另外如果不够用,如何将8K缓存转变为内存使用?有何缺点?

谢谢

,

Kevin Qiu1:

将上图中的SRAM部分展开看一下.stack的大小,上面错误是设置的stack size 超过了可以设置的范围

另外system stack并不会改变task stack的大小,一般system stack 不需要太大,如果task stack不够用还是要增加task stack

下面文档介绍了调试内存的方法,你可以看一下https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_30_00_03/docs/blestack/ble_user_guide/html/ble-stack-3.x-guide/debugging-index.html

xie wei 说:另外如果不够用,如何将8K缓存转变为内存使用?有何缺点?

缺点是会增加功耗,方法查看这里:https://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_5_30_00_03/docs/blestack/ble_user_guide/html/memory/cache-as-ram.html

,

xie wei:

在.cfg文件中增加Program.stack = 2048; 后,问题解决。

,

Kevin Qiu1:

好的,感谢反馈

赞(0)
未经允许不得转载:TI中文支持网 » LAUNCHXL-CC2640R2: 在Runtime Object View中提示ISR STACK overflow,如何增加ISR STACK?
分享到: 更多 (0)