【转】MTK内存动态申请释放

MTK设备RAM分配全解析:从adb命令到内核日志的实战指南 本文深入解析MTK设备RAM分配的实战技巧,从adb命令查询到内核日志分析,详细拆解了系统报告内存总量“缩水”的原因,揭示了预留内存的构成与去向。通过剖析/proc/meminfo核心指标与OOM日志,指导开发者精准定位内存碎片化、泄漏等复杂问题,并提供动态监控脚本与高级工具链的使用方法,是MTK平台内存管理的实战指南。 阅读详情

原文: http://blog.youkuaiyun.com/feelinghappy/archive/2010/02/22/5317615.aspx

 

1. OslMalloc OslMfree
为一个般的程序分配内存,用来保存一般性的数据,效率高,不能分配太大内存,else程序会挂掉

2. media_get_ext_buffer  media_free_ext_buffer
可以分配较大内存,与OslMalloc 有着数量级区别,比如读一个比较大的文件操作时,要分配的buffer就要这个 ,这个不是在堆上分配的,和寄存器有关系

3. gui_malloc gui_free
一般是用来合并图层,保存图层,MTK默认只分配了一个图层的空间,如果你用到了多层的话,就得另外分配内存了,就用这个

1. OslMalloc OslMfree
  这两个函数就是直接define 的 ctrl buffer的函数 作用分配内存和malloc free功能类似
  实际上是用一块内存池中分配和释放内存,具体实现是在ctrl_buff_pool.c里面做的

2. media_get_ext_buffer  media_free_ext_buffer
  因为task之间的函数不便互相调用,MDI等task在分配内存的时候会使用这对函数,实际实现时通过给MOD_SAP发送request buffer消息来获取内存

3. gui_malloc gui_free
  这对函数和第一对函数的实现时完全一样的 只是提供给不同的module使用而已

还有,我在网上看到一个名词“Ctrl Buffer机制”,这个到底是什么东东?
Ctrl buffer机制实际上就是MTK内部的内存池管理机制的一种,对上面的感觉和malloc free一样,但是内存的数量是固定的,比如1024的buffer一般来说只有2个或者4个 低端版本甚至只有一个

 

 

注意:

OslMalloc 所用内存位置有限,多次分配容易导致问题。
而media_get_ext_buffer可以分配较大的内存区域,然后你可以做后续处理。
总之,尽量少用动态分配内存的方式。

【转】 mtk平台camera流程原理(转+改) 转载自 zhaigangvvv最终编辑 zhaigangvvv<br />以23C的平台为例子。<br /> <br />1. mmi_camera_entry_app_screen 进入MMI,CAMERA进行分配动态内存,供采集数据处理。<br />2. mmi_camera_entry_app_screen_internal,进入判断T卡等环境相关,---》CAMERA_ENTER_STATE(CAMERA_STATE_PREVIEW),进入预览状态,mmi_camera_entry_preview_ 阅读详情

相关推荐

MTK配置参数与射频应用实战指南及内存优化技巧

本文还有配套的精品资源,点击获取 简介:MediaTek(MTK)作为一家领先的半导体公司,其芯片组在手机和消费电子产品中扮演重要角色。本文详细介绍了MTK配置参数的关键性,射频应用的优化方法,以及内存不足时的应对策略。通过深入探讨处理器频率、GPU设置、内存管理等配置参数,我们可以优化设备性能满足用户需求。射频调校技术包括频段设置、功率控制、天线配置等,是保障通信质量的关...

weixin_42513928的博客 1720

MTK 中内存的分配 OslMalloc 和 OslMfree

转载:http://blog.sina.com.cn/s/blog_486d548601000bm1.html 昨天遇到一个十分麻烦的问题,我把MTK编译时遇到这样的错误:Error : L6218E: Undefined symbolImage$$ZI$$Limit (referred from sys_stackheap.o).Not enough information to prod

springsu的专栏 4943

Centos7.9上安装glibc2.28遇到/usr/bin/ld: cannot find -lnss_test2问题

Centos7.9安装glic2.28遇到-lnss_test2问题及解决方案。

freflying1119的博客 2898

MTK内存动态申请释放

1. OslMalloc OslMfree 为一个般的程序分配内存,用来保存一般性的数据,效率高,不能分配太大内存,else程序会挂掉 2. media_get_ext_buffer  media_free_ext_buffer 可以分配较大内存,与OslMalloc 有着数量级区别,比如读一个比较大的文件操作时,要分配的buffer就要这个 ,这个不是在堆上分配的,和寄存器有关系 3. gui_

feelinghappy的专栏 3181

在Ubuntu上通过Wine完美运行企业微信的详细指南

本文提供了在Ubuntu系统上通过Wine兼容层安装和运行企业微信的详细教程。针对官方未提供Linux版本的痛点,指南推荐使用Ubuntu Kylin团队优化打包的Wine环境,通过简单的命令行步骤即可完成部署,并涵盖启动、中文输入法配置、文件管理等常见问题的解决方案,帮助用户实现高效、稳定的办公沟通。

weixin_29306317的博客 228

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 520

(转载) MTK申请内存

1 oslmalloc用于control buffer申请,size有限制,一般使用于较小buffer(通常0 - 2k)的申请。2 app_mallocASM机制。用于应用共享内存的申请,需要注册ID,如有内存冲突,系统会提示停掉正在使用的APP,供用户选择停止。3 scr_malloc用于屏幕buffer申请,模板内部使用。4 med_ext_malloc用于申请较大块内存(2k - ?),从...

weixin_30471065的博客 223

Winform从入门到精通(1)——Label(史上最全)

本篇文章是对专栏《winform控件从入门到精通》的详细介绍

qq_34059233的博客 4万+

MTK 内存管理

MTK 手机用的操作系统是 nucleus, 这是一个rtfs(实时操作系统),这个rtfs本身是不带内存管理功能,所以MTK自己写的内存管理。(nucleus在系统初始化完毕时,会调用Application_Initialize,参数就是可使用内存的起始地址)大体上来分,MTK内存可以分为3种:control buffer  平常使用的OslMalloc就是这个内存。 这个内存内部实现是按块来划分的(pool),具体的配置可以custom_config.c 文件里的custom_config_ctrl_b

dy_Learning的专栏 3864

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3100

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)

以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估;

智能AI让学术科研更容易 917

MTK 内存管理简单总结

<br />MTK 手机用的操作系统是 nucleus, 这是一个rtfs(实时操作系统),这个rtfs本身是不带内存管理功能,所以MTK自己写的内存管理。<br />(nucleus在系统初始化完毕时,会调用Application_Initialize,参数就是可使用内存的起始地址)<br />大体上来分,MTK内存可以分为3种:<br />control buffer <br /> 平常使用的OslMalloc就是这个内存。<br /> 这个内存内部实现是按块来划分的(pool),具体的配置可以cust

manlt的专栏 1986

yolov26改进 | 融合改进篇 | 基于 MobileNetV4 和双向特征金字塔网络BiFPN的融合改进(全网独家首发)

本文介绍BiFPN与MobileNetV4融合改进的YOLOv26。许多模块单独使用能够涨点,但直接叠加后可能因功能重复、通道不匹配、尺度冲突而掉点,因此融合前必须理解各模块作用。MobileNetV4利用UIB与Mobile MQA构建轻量主干,提升特征提取能力;BiFPN通过可学习权重完成双向多尺度融合,强化大、中、小目标的信息交互。两者优化Backbone与Neck,功能互补、结构冲突较少。本文提供代码、配置、消融对比及Codex修改思路,MobileNetV4也可替换其他主干,便于组合实验与二次创新

Snu77的博客 239

MTK内存管理

  MTK 内存管理 分类: MTK2011-03-16 16:27 1372人阅读 评论(0) 收藏 举报 MTK 手机用的操作系统是 nucleus, 这是一个rtfs(实时操作系统),这个rtfs本身是不带内存管理功能,所以MTK自己写的内存管理。 (nucleus在系统初始化完毕时,会调用Application_Initialize,参数就是可使用内存的起始地址)...

萧瑟中的苦索 284

Python之achatbot包语法、参数和实际应用案例

本书是一本PyTorch深度学习实战指南,分为基础(前6章)和进阶(后5章)两大部分。基础部分涵盖张量运算、神经网络、数据预处理及CNN等核心内容;进阶部分则深入图像、文本、音频建模技术,重点解析Transformer架构及大语言模型开发。全书采用"理论+实践"模式,适合从零基础到进阶的PyTorch学习者。

王国平的博客 631

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MTK(MTK内存、任务管理和定时器消息机制)

MTK(MTK内存、任务管理和定时器消息机制) 2011年12月24日    [b]1 [/b][b]内存管理[/b]。   平台不提供动态分配内存的方式;应用程序需要使用动态分配内存时,可以采用以下几种方式:   与系统其他模块共享内存,典型的是使用MED模块的内存;   定义一个静态数组,交给系统adm托管,然后调用kal_adm_alloc、kal_adm_free等内存操作...

iteye_15482的博客 413

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MTK 内存 任务管理和定时器消息机制

<br />声明:资料来源于网上<br /> <br /> <br /><br />1 内存管理。<br /> <br />平台不提供动态分配内存的方式;应用程序需要使用动态分配内存时,可以采用以下几种方式:<br />与系统其他模块共享内存,典型的是使用MED模块的内存;<br />定义一个静态数组,交给系统adm托管,然后调用kal_adm_alloc、kal_adm_free等内存操作函数实现动态内存分配;<br />定义一个静态数组,应用自己实现基于此数组的分配和管理,也就是实现自己的内存管理模块。

爱上晴天的雨 2310

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MTK 使用数组模拟动态内存分配

 在MTK开发中,如果要进行大量的内存分配不是件容易的事情。因此,我们变通的使用这种方法来模拟。可以防止绝大多数的内存问题。已经在项目中实践,放心使用^_^  #ifndef _DZD_MEMORY2_H_#define _DZD_MEMORY2_H_int DZD_mem_internal_init (void *mem, unsigned long memsize)

chenzhp的专栏 2799

MTK内存、任务管理和定时器消息机制

1 内存管理。 平台不提供动态分配内存的方式;应用程序需要使用动态分配内存时,可以采用以下几种方式: 与系统其他模块共享内存,典型的是使用MED模块的内存; 定义一个静态数组,交给系统adm托管,然后调用kal_adm_alloc、kal_adm_free等内存操作函数实现

Sheldon4090's Blog 2057

推理引擎将MTK 作为后端集成的一些思考总结

当在。

点滴的岁月 2513

高质量的C代码.释放内存

  未经许可,不的转载  版权归属高雷个人  联系方式:  email:gaolei57521@gamil.com     qq:38929568    最近搞MTK游戏开发,使用的是C语言,所以想研究一下C语言的开发情况,通过论坛,或者搜索到一些高手的文章,给我的启示不小!结合以前的Java经验,想总结一下,高手都是如何写程序的...   我的文章不会讲述一个

2443

(转载) MTK申请内存

1 oslmalloc 用于control buffer申请,size有限制,一般使用于较小buffer(通常0 - 2k)的申请。 2 app_malloc ASM机制。用于应用共享内存的申请,需要注册ID,如有内存冲突,系统会提示停掉正在使用的APP,供用户选择停止。 3 scr_malloc 用于屏幕buffer申请,模板内部使用。 4 med_ext_malloc 用于申请较大块内存(2

飞鸽传说的博客 610

MTK设备终极解锁指南:快速绕过bootrom保护,释放手机全部潜能

还在为MTK设备的种种限制而束手无策吗?这款专业的**MTK解锁工具**能够帮你轻松**绕过bootrom保护**,让每一部手机都能发挥出真正的实力!无论你是技术爱好者、开发者还是普通用户,这个简单易用的**手机安全工具**都能为你提供专业级解决方案,开启设备无限可能。 ## 🛠️ 环境配置:搭建专业解锁平台 ### 系统环境检查清单 - **操作系统兼容性**:支持Windows 10/1

gitblog_00527的博客 1143
上一篇: 【转】各类手机开发平台介绍
下一篇: 【转】Unicode和UTF-8之间的转换详解
code09
博客等级 码龄18年 31粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值