完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
rt thread怎么让程序运行在外部SRAM,比如新创建的线程,读写文件用到的内存等。
我外部SRAM配置到内存堆上成功,可以用malloc free申请和释放,但是内部内存不足时,创建线程和读写文件就会失败,使用cat查看个文件系统就卡死,系统为什么不去使用外部内存啊,外部内存还有1M的空间 |
|
相关推荐
6个回答
|
|
使用 rt_xxx_init 函数创建所有内核对象,线程,信号,消息队列,定时器...
|
|
|
|
|
|
|
|
线程栈是动态分配的,从哪个内存堆分配的,那个线程运行的函数使用的局部变量就是在那个内存上。
你这个出问题,不是在不在哪个内存引起的吧,要跟你说过你这个系统有隐患,有不稳定因素。你不觉得你添加过那么多东西每次都出莫名其妙的问题,而且多半出问题的地方是不应该出的,很奇怪吗?你也玩儿过那么多东西都没因为内存在哪儿出现问题,这次读文件就怀疑是内存问题了? |
|
|
|
是内存,我是故意申请内存,把内部内存弄的不足,然后实验的,看系统能不能去使用外部内存
|
|
|
|
好,假设你说的是对的,是内存问题,其它存储设备驱动,文件系统都没问题。
那么,你执行 cat 命令的时候,是使用的 tshell 线程的线程栈,这个时候, tshell 内存栈从哪儿分配的?你是清楚的吧。 至于有没有使用外部内存,代码里打个断点儿,在 malloc 的时候看看走不走外部内存设备的申请代码就好了啊。 还是上面说的, init 就从堆分配,就可以用得上 SRAM |
|
|
|
像freeRTOS的heap_5.c的内存管理方式,就可以支持多块不连续的内存快,这种设计可以支持到内部内存和外部内存配合使用,不知rt-thread的设计有没有考虑这样的使用场景?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
794 浏览 0 评论
4650 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2588 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2945 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31650 浏览 11 评论
73042 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 21:22 , Processed in 0.724682 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号