Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
IoT camera的内存情况
发布于 2017-11-28 10:58:06 浏览:3368
订阅该版
我遇到了 > [ISP]:isp core need total size : 0x1f0000. no mem to malloc.. API_ISP_MemCfg buffer alloc error no: -1 fh_isp_init 94: Error: API_ISP_MemInit failed with -1 mjpeg_server: bind() failed due to (Address already in use) Execption: r00:0x00000000 r01:0xa02a2f70 r02:0x00000000 r03:0x00000000 r04:0x00000001 r05:0xa027def4 r06:0xffffff00 r07:0xfffffee0 r08:0x00000000 r09:0x00000000 r10:0x00000000 fp :0x00000000 ip :0x00000000 sp :0xa0302e38 lr :0xa001e1ac pc :0xa0054974 cpsr:0x60000013 data abort thread - th1 stack: thread pri status sp stack size max used left tick error ------------ --- ------- ---------- ---------- ------ ---------- --- th1 130 ready 0x000001a8 0x00000c00 25% 0x0000000a 000 th0 130 suspend 0x000000e0 0x00000c00 14% 0x00000006 000 mjpg 250 suspend 0x00000170 0x00000800 72% 0x0000000c 000 tshell 20 suspend 0x00000110 0x00002000 03% 0x00000009 000 WWD 10 suspend 0x00000098 0x00000400 33% 0x00000010 000 tcpip 100 suspend 0x000000d0 0x00002000 07% 0x00000014 000 etx 126 suspend 0x00000098 0x00000400 17% 0x00000010 000 erx 126 suspend 0x000000a0 0x00000400 45% 0x00000010 000 mmcsd_detect 64 suspend 0x000000a8 0x00000400 67% 0x00000012 000 tidle 255 ready 0x00000068 0x00000100 40% 0x0000001f 000 timer 4 suspend 0x00000080 0x00000400 15% 0x0000000a 000 shutdown... wifi 自己连接后的内存 > total memory: 3561580 used memory : 28980 <<大概 28k maximum allocated memory: 38256 mjpeg start后的内存 > total memory: 3561580 used memory : 391048 <<== 大概 390k maximum allocated memory: 396072 ISP 说占用了10M, 明显不在目前的显示说明里面。 目前的total 大概是3M的样子。这样ISP的内存应该是预分配的,是否ISP不仅是10M的预分配,还有执行时候的消耗。 需要了解一下 这个板子的内存占用情况。 那些是用户程序可以用的的空间,哪些是核心应用运行需要的内存。(我原本以为,16M内存应该是非常富裕的,现在看上去也比较紧张的。)
查看更多
14
个回答
默认排序
按发布时间排序
joyhope
2017-11-28
这家伙很懒,什么也没写!
目前看上去内存还是非常紧张。mjpeg一旦启动,基本上已经没有内存了。因为启动后wget不能工作量。主要是内部的内存分配失败,但是这个部分没有log输出。mjpeg的stop本身是没有做资源释放的工作。 需要了解 1. 目前的内存情况 2. 理解目前的内存占用情况是否合理。 3. 如果存在多应用的需求,拿在应用切换的时候,必须要做资源释放的工作,而不能简单的让应用停止工作。
joyhope
2017-11-29
这家伙很懒,什么也没写!
根据boad_def.h的定义 >#ifndef FH_DDR_START >#define FH_DDR_START 0xA0000000 <<==DDR RAM 的起始地址,也是把rtthread.bin, load到内存的地址。 >#define FH_DDR_END 0xA1000000 <<==16M 内存 > >#define FH_RTT_OS_MEM_SIZE 0x00600000 <<== OS 的内存的大小,6M。 >#define FH_DMA_MEM_SIZE 0x20000 /* 128k */ > >#define FH_RTT_OS_MEM_END (FH_DDR_START + FH_RTT_OS_MEM_SIZE) <<==OS 的内存终点,也就是在开始的6M。 这个6M, 应该包含了rtthreaed.bin的大小。boot参数可能用来2M作为load 的空间。 >#define FH_SDK_MEM_START (FH_RTT_OS_MEM_END + FH_DMA_MEM_SIZE) <<==SDK的内存空间开始于OS空间后的128K. >#define FH_RTT_OS_HEAP_END FH_SDK_MEM_START <<==heap 大小 >#define FH_SDK_MEM_SIZE (FH_DDR_END - FH_SDK_MEM_START) <<== SDK的内存空间,从HEAP以后的所有内存。 > >#define MMC_USE_INTERNAL_BUF >#define MMC_INTERNAL_DMA_BUF_SIZE (16 * 1024) --- 这样看来,ISP的内存不是预分配的,而是从heap里面获得的。如果heap发生了内存碎片,就会产生内存分配不足。看rtthread.bin如果load的空间少一点,不知道能否自动会用剩下的空间。
joyhope
2017-11-29
这家伙很懒,什么也没写!
ISP 内存消耗情况 >probe sensor: sensor fixed (GC1024) >pae open success! >[ISP]:isp core need total size : 0x1f0000. >[ISP]:isp core memory size : 0x1f0000. <<== 核心 接近2M >[ISP]:media_malloc used size : 0x300. >[ISP]:media_malloc used size : 0x600. >[ISP]:media_malloc used size : 0x800. >[ISP]:media_malloc used size : 0x31880. <<==media 大概用了 200K >================================================================== >resolution:1280X720. >DRV REG :ADDR =0Xa0290854. >IPF PKG :ADDR =0Xa0b9d800. >IPFB PKG:ADDR =0Xa0b9db00. >IPB PKG :ADDR =0Xa0b9de00. >STAT_BASE:ADDR=0Xa0b9e000. >================================================================== >[ISP]:media_malloc used size : 0x35da0. >[ISP]:media_malloc used size : 0x1875a0. >[ISP]:media_malloc used size : 0x1bf9a0. >[ISP]:media_malloc used size : 0x1dbba0. <<== 大概5.4M 的内存 >gme_buf_addr :ADDR =0Xa0bd0000. >nr3d_frame_buf_addr :ADDR =0Xa0bd35a0. >nr3d_coeff_buf_addr :ADDR =0Xa0d24da0. >ltm_stat_buf_addr :ADDR =0Xa0d5d1a0. >af_buf_addr :ADDR =0X0. >[ISP]:strategy init !!!! >[ISP]:ISP init success !!!!!! >0, 0x00000000 --- 从这里面看,可能已经是8M 消耗了。 记得有说法是ISP要占用10M,这个也差不多了。
bernard
2017-12-01
这家伙很懒,什么也没写!
我记得ISP/VPU是预置的10MB DRAM;6MB 给了ARM使用。然后rt-thread.bin编译出来过大了,也会抢这部分的空间。
joyhope
2017-12-01
这家伙很懒,什么也没写!
目前看代码的设置,和楼上的说明吻合。 目前内存和稳定运行有很大的关系。我用vlc做稳定性测试,如果把缓冲设置为200ms, 板子的程序非常快会out of pbuf。 >out of pbuf! --- 源码里面找不到这个输出的信息,看来是库里面输出的。没有理解这个问题。缓冲小,应该是需要的内存配置低,为什么会out of pbuf。
joyhope
2017-12-01
这家伙很懒,什么也没写!
看来内存的处理还是比较麻烦多了,老版本的的vlcview也没有通过vlc 的长时间的视频测试。看看mjpeg模式是否可以。 核心代码是一样,估计也都无法通过长时间运行测试。 希望在github的版本,能解决这个长时间的测试。 目前需要理解这个是否有泄漏的情况,这个没有内存,是由于I/O速度不匹配导致的不断的积累还是其它的原因。
joyhope
2017-12-04
这家伙很懒,什么也没写!
老版本的iot-camera的mjpeg的模式,通过了1天的稳定运行测试。 vlc 没有通过 3 小时测试。
我夏了夏天
认证专家
2017-12-04
Life isn't about finding yourself, life is about creating yourself.
正在验证相关的问题。
joyhope
2017-12-05
这家伙很懒,什么也没写!
期待在最新版本上能解决这些问题。 1. mjpeg无法稳定工作。(老板版本可以稳定工作,通过24小时的测试) 2. vlc 无法工作。(老版本可以工作,但是无法稳定工作。工作时间 <3小时。)
我夏了夏天
认证专家
2017-12-06
Life isn't about finding yourself, life is about creating yourself.
mjpeg一旦启动,就是进行isp的初始化,为isp的运行分配内存。即使使用mjpeg stop来关闭mjpeg,仍然不能释放isp申请的内存,所以会出现内存不够的情况。 >目前看上去内存还是非常紧张。mjpeg一旦启动,基本上已经没有内存了。因为启动后wget不能工作量。主要是内部的内存分配失败,但是这个部分没有log输出。mjpeg的stop本身是没有做资源释放的工作。 > >需要了解 >1. 目前的内存情况 >2. 理解目前的内存占用情况是否合理。 >3. 如果存在多应用的需求,拿在应用切换的时候,必须要做资源释放的工作,而不能简单的让应用停止工作。 ---
撰写答案
登录
注册新账号
关注者
0
被浏览
3.4k
关于作者
joyhope
这家伙很懒,什么也没写!
提问
7
回答
59
被采纳
0
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
5
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部