完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题:线程创建后打印log 会出现(tid != RT_NULL) assertion failed at function:rt_application_init, line number:214 audio_thread = rt_thread_create("audio", #define N32_FLASH_START_ADRESS ((uint32_t)0x08000000) ZI RW_IRAM1 Limit) /* Memory Management */ 我debug了下 看这里返回是空 就是没有内存可以分配 我后来把内存管理里面的宏都打开了 然后又报线程我发启动 (thread != RT_NULL) assertion failed at function:rt_thread_startup, line number:375 |
|
相关推荐
2个回答
|
|
既然可以调试,就单步进去,看看内存分配为何返回 NULL 吧
备注: 我.s文件中给heap的试了0x800~0x3000 都还是报内存分配不够,这里 的 heap 原则上越小越好,越小, 剩下的空间越大 |
|
|
|
该错误通常是由于在创建线程之前初始化RT-Thread内核时,系统堆栈和线程大小设置不正确导致的。这可能会导致应用程序无法成功创建线程并显示该错误消息。
解决方法是: 1. 确保在创建线程之前正确设置了RT-Thread内核的系统堆栈和线程大小。 2. 检查您的板级支持包(BSP)是否正确配置,特别是关于SRAM和堆栈的设置。 3. 确定您的板级支持包是否与选择的内核版本兼容。 4. 考虑调整您的应用程序代码以防止分配过多的内存和堆栈空间。 5. 如果以上方法都无法解决问题,请尝试使用调试工具来查找其他错误原因。 建议您参考RT-Thread官方文档和论坛帖子,以获取更多关于此错误的信息和解决方案。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1591 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1112 浏览 0 评论
1557 浏览 0 评论
1402 浏览 0 评论
1044 浏览 0 评论
74661 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 09:44 , Processed in 0.497430 second(s), Total 70, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号