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

定义大数组,程序跑飞。

Hi:

     我在使用CC2640R2,进行开发的过程中,经常出现程序跑飞,如在函数中定义大数组,或者在写特征值操作中,处理时间较长的逻辑处理时,就容易程序跑飞。

     如何定位这些程序跑飞是如何造成的呢? 程序时跑飞了?还是出发了硬件错误,进入了某个死循环中?

Viki Shi:

有报错吗?高度怀疑是堆栈溢出,你可以往这个方向排查下

ming li62:

回复 Viki Shi:

Hi Viki:

    编译的时候没有报错,程序跑飞的时候,也没有任何打印错误,如果是堆栈溢出,用什么方法排查呢? 又该如何解决呢?

    在线调试,程序跑飞,之后,暂停程序,CSS有如下错误提示:

  

Can't find a source file at "/db/vtree/ademars/git_trees/avala-z/src/ti/sysbios/family/arm/m3/Hwi.c" Locate the file or edit the source lookup path to include its location.

da qin zheng sheng:

自己定义的数组有多大?逻辑处理操作频繁不?

XINLIANG JIANG:

我的问题也差不多,  因为要透传数据,所以定义了大的数组,然后程序就各种不稳定,  比如在 调用 notify 的时候, 没有返回。直接跑飞了, 但是串口中断和Clock事件可以正常响应。 还有就是 蓝牙连接的时候 频繁 写flash 也会导致  跑飞,现象就是 收不到 state 的变化事件。 比如 从连接到 断开连接收不到事件。  

不知道楼主有思路没有,指点一下

ming li62:

回复 XINLIANG JIANG:

 我的问题是定义大数组,造成ram不够用,解决方法是将cache 作为ram使用,增加ram空间。

赞(0)
未经允许不得转载:TI中文支持网 » 定义大数组,程序跑飞。
分享到: 更多 (0)