eika
eika
这家伙很懒,什么也没写!

注册于 11年前

回答
7
文章
0
关注者
0

发布于10年前

你看看各个线程的栈占用情况

不过超过20天,很像是内存越界了


线程栈占用正常,并没有溢出,但是发送UDP数据的线程超时了。然后通过list_mem查看maximum allocated memory超过了total memory 8字节。不过之前正常运行的时候也超出过,不知有没有影响。通过查看thread的地址指针,最后好像是在线程调度的时候出问题了,是在调用rt_thread_priority_table的时候。程序中所有的线程和信号量,邮箱都是静态的。目前怀疑是在发送UDP数据是申请了空间没有释放,就是不好查找是哪里没有释放,所以想问问是否跟netconn_send有关。发送数据大小不能超过1000字节,每次发送后要把netbuf释放,不知是否是这些地方出了问题。

发布于10年前

我的问题跟你很相似,但是我每发送一次UDP包并不把netbuf删除,而是一直使用这个netbuf。程序跑20天就会堆溢出跑死,你的情况如何?现在问题解决了么?

发布于11年前

最近刚好要用到USB HOST,谁能给点资料么?

发布于11年前

http://www.rt-thread.org/phpBB3/viewtopic.php?f=3&t=1504


非常感谢您的回复,问题已经得到了解决。非常感谢!

发布于11年前

对照例程有检查了一遍,发现原来是自己把board.h中串口的一些定义给注释掉了。现在总算能出现finsh>>,但是打入list(),却出现null node。我的finsh组件就是取自RT-Thread 1.1.0中的finsh文件夹啊,这是怎么回事?

发布于11年前

我在CCMRAM中挤出了一点地方,总算将FINSH装下了。然后就是串口设置,花了一天时间学串口(我还是第一次用)。总算把串口搞好了(因为是从单片机飞出来的线,需要先测试是否能正常工作)。然后在rtconfig.h中打开#define RT_USING_FINSH #define FINSH_USING_SYMTAB #define FINSH_USING_DESCRIPTION,按照bsp中stm32f40x的例程设置了USART。例子中finsh用的是USART1而我改成USART3了,然后在stm32f4xx_it.c中加入USART3的中断。但是运行程序之后,串口没有出现finsh>>,请问各位我还少设置哪里了么?

发布于11年前

可以把FINSH线程的大小设小点。


请问在哪里设置呢?这是我用IAR编译得到的错误信息
unable to allocate space for sections/blocks with a total estimated minimum size of 0x10250 bytes in <[0x10000000-0x1000ffff]> (total uncommitted space 0x10000).
将FINSH线程设为多大合适?

回到
顶部

发布
问题

投诉
建议