完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1、我用c6678evm通过网络接收图像数据进行处理,定义了一个数组buff[655360](一幅图像的数据量),并且用malloc()函数分配了空间,由于使用UDP一次不能传输超过3000个字节(若超过据说需要重新编译NDK),我就把一幅图像分多次接收,每次接收调用了一个长度为2051的unsigned char类型数组,没有用malloc()对这个数组分配空间,但是在运行时出现栈溢出现象,提示:ti.sy***ios.knl.Task: line 330: E_stackOverflow: Task 0x80029f88 stack overflow. 我用ROV查看发现stacksize达到100663296(这样的话整个内存空间都不够,也没有办法来改变堆和栈的大小),如图所示:
我怀疑怎么会用到这么大的栈?另外StackTest这个任务是静态配置的,var tskNdkStackTest = Task.create("&StackTest"); 网上有人说若是静态创建任务的话任务的空间和栈(stack)空间都是从堆(heap)中来分配的,而我是静态创建的,怎么出现这么大的栈, 2、假如我用网络调试助手向dsp发送数据,只是每次定义一个长度为2051的unsigned char类型数组来接收数据(也不用malloc分配空间),StackTest的栈占用的就非常小,占用6400个字节,请问为什么差别这么大?是数组设置问题,还是程序的问题呢? |
|
相关推荐
1个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
404 浏览 0 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
930 浏览 1 评论
537 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
413 浏览 1 评论
969 浏览 0 评论
63浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
912浏览 2评论
156浏览 2评论
197浏览 2评论
175浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 06:46 , Processed in 0.724837 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号