2011-12-15 ADM 使用
来源:互联网 发布:magic launcher 知乎 编辑:程序博客网 时间:2024/04/30 02:01
MTK adm buffer 使用:
首先在系统初始化时,会开辟一块内存区域,比如:g_abrepeat_app_mem_pool、g_applib_mem_ap_pool、g_barcodereader_cntx.app_mem_pool(其中此内存块也有可能是在g_applib_mem_ap_pool中划分:g_barcodereader_cntx.app_mem_pool = applib_mem_ap_alloc(g_bcr_cntx.memory.app_mem_pool_pAPPLIB_MEM_AP_ID_BARCODEREADER, BR_APP_TOTAL_SIZE);)、g_bcr_cntx.memory.app_mem_pool_p(applib_mem_ap_alloc_framebuffer(APPLIB_MEM_AP_ID_BCR, MMI_BCR_APP_TOTAL_SIZE);)、g_brw_memory_pool、cca_mempool_g、g_mmi_certman_context.mem_pool、cootek_ADM_pool、g_dictionary_cntx.app_mem_pool。
注:有一些pool是后来使用的时候分配的(从系统初始化memory pool中)
在使用的时候,step1:
通过kal_adm_create(pool,size,subsize(能划分的块的类型:(8、16、32、64……)),logging)创建出一个pool_id,即内存块的地址及相应的属性。
step2:
kal_adm_alloc(pool_id,size(使用的)),得到可以使用的内存地址。
ADM buffer的结构:
typedef struct
{
kal_uint32 adm_id;
kal_uint16 bl_num;
kal_uint16 reserved;
kal_uint32 left_size;
kal_uint8 islogging;
kal_uint8 reserved2[3];
} ADM_CB;
ADM_BL struct //block list
{
size;
reserved;
previous;
next;
}
ADM的释放:
首先是对pool_id 进行释放,即将此id销毁掉。然后对系统后来创建的pool(非初始化创建)进行内存的释放:applib_mem_ap_free等函数。
- 2011-12-15 ADM 使用
- PhalGo-ADM思想
- Dojo 学习--ADM
- ADM Radeon R9 NANO参数
- Some insights on PDM, ADM and Schedule
- 盗贼单刷adm第一个boss
- Illustrator插件开发之ADM列表
- ADM CPU安装mac os x系统
- maxdb how to reset <SID>adm password
- BASIS ADM 100标准课程中文版本
- AIX5.3 failed to write to /var/adm/wtmp
- PMP知识点总结—ADM与PDM的区别
- PDM ADM CDM PERT GERT CPM 工具辨析
- PDM ADM CDM PERT GERT CPM 工具辨析
- Android studio ADM无法打开时什么问题?
- Android模拟器(ADM)打不开/data,无法导出数据库文件
- nodejs adm-zip 解压文件 中文文件名乱码
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
- java正则表达式
- sencha-touch 开发者学习网站
- 当EditText是多行文本时, 光标如何设置在从左上角
- 【C#源代码】查询alexa全球,中国排名,google pr,google收录和百度收录及快照
- 新官上任应该做些什么
- 2011-12-15 ADM 使用
- 超强过滤器彻底解决JSP/SERVLET中文参数GET/POST传递的问题
- android全格式多媒体播放器(二:opencore媒体系统解析)
- weblogic jdbc 在删除时没有删除干净
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- VC动态创建控件
- Excel 部分操作总结
- 二厶可可肉 杂项 判断SQL 中,某列的值 是否非空
- C++课后习题