欢迎来到天天文库
浏览记录
ID:37940166
大小:464.18 KB
页数:36页
时间:2019-06-03
《MTK手机平台中间件的设计与实现答辩稿》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MTK手机平台中间件的设计与实现指导老师:汤彬姓名:王卡风专业:计算机软件与理论学号:7082202大纲提要•技术现状•功能手机中间件的关键技术•MTK平台手机中间件的具体设计•中间件性能分析及产品示例•总结与展望1.技术现状�1.1MTK手机平台及其应用开源代码层(queue.c)程序开发现状MTK上的应用程序多数是基于人机交互界面层MMIKAL层(stack_ltlcom.obj)来开发,常用两种开发设计方式:Nucleus层(quc.c)(1)直接调用开放代码层或核心适配层KAL的函数接MTK软件架构层次口:(2)为开放代码层或核心适配层函数包含通用接口变
2、成自有的统一开发接口:1.2功能手机中间件开发现状一种是SUN主推的J2ME,以软件虚拟机来运行JAVA程序;第二种中间件是支持机器码动态装载的二进制兼容平台;1.3手机模拟器开发现状PC机器上不支持2个MIDI同时播放。而现在流行的应用程序——手机游戏的音效基本使用MIDI格式音乐,当需要混音效果时,需要同时播放至少两个MIDI音乐,这样现有最新的PC模拟器都无法满足需要,所以针对该功能的优化,将使模拟器更能满足应用程序开发需要2.功能手机中间件的关键技术�2.1ARM的位置无关程序设计原理用于构建高效率动态链接库。应用程序必须经过编译、汇编和链接后才变成可执
3、行文件,在链接时,要对所有目标文件进行重定位,建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间,以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。有操作系统是,重定位由操作系统自动完成。为实现其位置无关性,通常使用寄存器R9作为静态基址寄存器,使其指向该可读写段的首地址,并使用相对于基址寄存器的偏移量来对该段的变量进行寻址。2.2Nucleus中线程控制部件的实现方法从Nucleus的系统结构框图可以看出线程控制是整个内核的核心,通过邮箱、队列、管道来实现任务之间的通信,通过信号量、事件
4、组和信号实现任务间的同步。初始化通信模块内存管理(邮箱)(动态内存)(队列)(分区内存)(管道)线程控制(TC)系统诊断同步模块(错误管理)(信号量)(历史管理)(事件组)(信号)I/O管理图2.1Nucleus的系统结构图2.3MTK手机平台内存复用技术NVRAMROMflashmemoryRROM2OMROMnASM外部RAMSystemRmemoryAMMedia内部RAMmemoryMTK的内存分其他芯片RAM布结构示意图其他内存池MTK系统内存划分MTK系统为充分利用内存,对整个内存进行了划分,形成了以下八大内存池:应用程序共享内存ASM、多媒体块内存
5、、多媒体内部内存、屏幕内存、控制缓存、系统内存池、调试内存池、开机之后大块的全零数据也称应用程序动态内存ADM,可以对其进行复用,但要保证不冲突。实际上,MTK软件已经分别做好了app_mem、ScrMemMgr和med_main三段内存池的管理。2.4嵌入式系统的自适应动态内存分配算法目前在很多嵌入式应用中,比较常用的动态内存分配和释放技术是最先匹配算法和伙伴算法。3.1MTK平台手机中间件的内核设计MTK、展讯平台本地T卡网络服务器MPP文件01MPP文件01MPP文件02MPP文件02MTK、展讯Candy中间下载手机件MPP文件03MPP文件03Binb
6、ufferMPP文件04MPP文件04图3.1系统内核加载运行MPP的数据流图3.1.1中间件系统架构应用层(各类上层应用)加载运行接口接口层GDI触摸屏GUI文件其他API键盘接口多媒体适配层操作系统层(Nucleus、threadX等)硬件层(MTK、展讯等)图3.2中间件内核系统与手机平台及其应用程序架构图3.1.2接口层与适配层对接接口层与适配层的对接时通过“接口虚拟表”来完成。接口层的工作,仅是对封装“接口虚拟表”内的函数调用,避免过多直接对函数指针操作,即每模块接口层保留的是指向该模块“接口虚拟表”的指针。3.1.3中间件环境开始初始化及其流程读取M
7、PP文件true图MPP认证falsetrueCandy_Entry进入MPP入口函数,为各模块“接口虚拟表”指针赋值truecallback计算R9值,并为R9赋值,判断false是否足够分配ZI段空间异常退出trueinit_pfunc回调进入适配层,初始化false各模块“接口虚拟表”Candy_Maintrue进入应用程序主函数结束图3.3中间件加载、运行应用程序流程图3.2应用程序加载及其内存管理typedefstruct{Mppheader…...U8acAppVersion[12];//…...U8acMiddlewareVersion[12];/
8、/S32bDisplay
此文档下载收益归作者所有