完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题如下 出现概率, 极低 问题表现, 一旦出现, 系统停止运行, 三台设备stm32f427使用lan8720 联网,mqtt, 100ms 一条消息, 一个月平均低于一台机器出现这个断言错误, 问题出现频率过低, 一直没有定位到问题所在, 今天在网速测试再次复现这个问题, 想问下有遇到类似情况的同学吗? ((rt_object_get_type(&sem->parent.parent) == RT_Object_Class_Semaphore) assertion failed at function:rt_sem_release, line number:608 这台测试设备, at32f437vgt7 , 使用的官方库, 软件只开启了lwip 和串口,和iperf 三个功能 iperf 测试工具, 以客户端模式下, 在数分钟内, 几乎100% 复现, 在tcp 服务端测试下, 没有出现 |
|
相关推荐
4个回答
|
|
如果不是系统刚启动时assert,那么有可能被篡改了,可以对其下个写断点
|
|
|
|
at32f437 drv_emac.c 中, tx_wait 信号量,只有release 和 take ,没有init , 我加了init 后, 跑了十几分钟没有出现这个故障了, 没想到 sem没有初始化也能使用! 看来和之前问题还不一样 |
|
|
|
|
|
|
|
具体驱动代码大致是这样的, emac发送接收都是dma , 以服务器端测试一点问题都没有, 以客户端测试就出问题了, 在emac 中断服务函数里, tx 中断使用 rt_sem_release , take 在这里 确实增加了init 之后, 半小时没出题问题了, 是不是极其偶尔性的才会触发 dma 发送完成? 还有一个特性,在未init之前, 就是在我增加了EMAC_MAX_PACKET_LENGTH 从 1524到1540后, 出现的频率变高了,好几次开机就直接断言错误了 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
504 浏览 0 评论
1594 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2139 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2659 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
28908 浏览 11 评论
72081 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 02:42 , Processed in 0.494258 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号