MTK平台软件架构 软件二部 王刚.

Slides:



Advertisements
Similar presentations
人機介面 Arduino 簡介 授課教師 開課單位. Arduino 簡介 Arduino 是一塊 Open source 的 Simple i/o 介面板,並 且具有使用類似 java, C 語言的開發環境。 可以快速使用 Arduino 語言 ( 基於 wiring) 與 Flash 或 Processing…
Advertisements

WCI361 Windows Vista WCI361 Windows Vista 运行性能设计与 改进.
嵌入式系统简介 Introduction to Embedded System
嵌入式系统与单片机 北京科技大学电子信息系.
先介绍计算机网络基础知识,再分析网络视频监 控系统的架构、原理与维护。
崑山科技大學 電子工程系 99學年度 學生實務專題成果展
松翰科技 — 全新高性能 8-bit 微控制器
第一章 嵌入式系统概况 大连理工大学 马洪连.
實驗 9: 無線安全網路之建設.
MTK各芯片简介 整理:张平.
開店法寶 VIVIPOS 簡介 June, 2009.
運用無線射頻辨識系統(RFID) 降低土石流災害可行性探討
第九章 無線網路.
工廠實務報告 2001年全球排名第一 我國罩幕式記憶體之廠商介紹 指導老師:林宸生 老師 學生:黃正豐 民國91年12月
第2章 计算机网络的协议与体系结构 2.1 计算机网络体系结构的形成 2.2 协议与划分层次 2.3 计算机网络的原理体系结构
第1章 概述.
操作系统结构.
最新計算機概論 第3章 計算機組織.
大專院校校園e 化 PKI、智慧卡應用與整合.
悠遊卡與行動支付 悠遊卡公司 通路事業部 經理 黃士展 2016/05/23.
安徽广播电视大学 组网技术与配置(第2版) 第8章 路由器的配置 汪本标.
第3章 计算机网络体系结构.
通信技术基础 第1章 通信与通信系统的基本概念 王钧铭 1.1 通信的概念 1.2 通信系统 1.3 通信方式 1.4 信道和传输介质
PPP协议 点到点协议 深圳职业技术学院电信学院网络技术专业.
HUAWEI Cloud Communications Solution
医学仪器中的嵌入式系统设计  T06.WinCE 网络与通信
單元丁 第二章 為演示準備多媒體元素.
Newland PT-30 Handheld Computer
CH.2 Introduction to Microprocessor-Based Control
第四章 BootLoader开发 附-s3c2410/s3c2440处理器介绍
TERAWINS T302B数码相框方案 杨春波
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
電腦硬體基本介紹 國立高雄大學資訊工程學系 林士倫 2010/10/21.
講師簡介 姓名:凌文強 現職:瑞銘科技(MDV) 軟體研發中心資深處長 學歷:清華大學資訊工程研究所
高雄應用科技大學 有線網路建置實習(I) 聯易科技股份有限公司 Ben 李政勳
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
数字系统设计 I Digital System Design I
项目成果展示 ——深圳凯吉尔科技—— 凯吉尔全线代理无锡研奥产品 说明:
團隊研發能力 – 抗煞一號 二十天之內,完成抗煞一號的研發.
LabVIEW環境簡介 虛擬儀控程式設計 LabVIEW
網路技術管理進階班---區域網路的技術發展
如何促進即時路況資訊傳播以利導航應用產業發展
第8章作業系統.
教育部補助「行動寬頻尖端技術跨校教學聯盟計畫-行動寬頻網路與應用-小細胞基站聯盟中心計畫」 Small Cell創新應用與服務專題 課程單元: LTE/SAE網路架構與元件 計畫主持人:許蒼嶺 授課教師:李宗南、簡銘伸、李名峰 教材編撰:李名峰 國立中山大學 資訊工程系.
教育部補助「行動寬頻尖端技術跨校教學聯盟計畫-行動寬頻網路與應用-小細胞基站聯盟中心計畫」 Small Cell創新應用與服務專題 課程單元: LTE之安全需求、安全特性 與安全機制簡介 計畫主持人:許蒼嶺 授課教師:李宗南、簡銘伸、李名峰 教材編撰:李名峰 國立中山大學 資訊工程系.
LASER SOLDERING SYSTEM
ZigBee的技术支持及其应用前景 华东理工大学 凌志浩
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
HOLTEK 产品 在小家电的应用.
Android 课程讲义 智能手机开发
Chapter 3 行程觀念 (Process Concept)
ICT RTOS Research Group 胡伟平,王剑
附錄 傳統電信網路的行動管理機制 (Mobility Management)
第四章 無線通訊與網路應用 計算機概論編輯小組.
Programmable Logic Architecture Verilog HDL FPGA Design
自動化課程 劉聖元.
CPU结构和功能.
第3章 認識處理元.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
TinyOS 石万兵 2019/4/6 mice.
支援 ZigBee/ 封包分析之 USB封包擷取轉換模組之實作
Real-Time System Software Group Lab 408 Wireless Networking and Embedded Systems Laboratory Virtualization, Parallelization, Service 實驗室主要是以系統軟體設計為主,
無線感測網路截取ZigBee/ 封包 分析工具實作
報告者: 通訊所 陳瑞文 學號: 授課教授: 潘仁義 老師
行動寬頻介接網路與IoT實務應用-實驗課程
行動寬頻介接網路與IoT實務應用-實驗課程
手机软件架构和底层软件介绍.
支援 ZigBee/ 封包分析之 USB封包擷取轉換模組 之實作
第三章 计算机体系结构.
Presentation transcript:

MTK平台软件架构 软件二部 王刚

MTK方案简介 MTK软件分层介绍 MTK 方案Task架构 联发科技介绍 MTK多媒体手机平台 GSM/GPRS手机软件方案 软件结构图表 OS L1 protocol stack Device driver L2 L3 L4 protocol stack MMI MTK 方案Task架构 MMI task 消息处理过程 example

一、MTK方案简介

联发科技简介 1997年成立,全球第五大集成电路设计公司 (台湾第一大), 年营业额为10亿美金 全球最大之光盘及DVD播放机芯片组制造商 研发及技术中心: 台北 新竹 深圳 安徽合肥 无线通信部门于2000年成立,研发手机基带/RF芯片组及软件及发展平台,部门约200工程师

联发多媒体手机平台 3G 2.5G GSM/GPRS/WCDMA Multimedia Phone MT6219 GSM/GPRS Video Platform 2.5G MT6218 GSM/GPRS Multimedia Platform TFT:TN-LCD上夹层的电极改为FET晶体管,而下夹层改为共通电极。 MT6205 GSM Low-End Platform

GSM/GPRS 手机软件方案 人机界面 协议层 联发科技提供给客户 联发科技已集成 客户须取得原开发商之受权 短信/EMS 中文输入 WAP/MMS Email Client 联发科技提供给客户 人机界面 短信/EMS 中文输入 SIM Tool Kit Java GSM/GPRS 协议层 On-Time FAT Black matrix:用来遮住不打算透光的部分,如ITO走线、TFT部分等。 联发科技已集成 客户须取得原开发商之受权 驱动 RF/UART LCD/USB/IrDA/etc DSP/Layer1 Nucleus RTOS

二、MTK软件分层介绍

MTK软件架构图表

三大组成单元 MS (Mobile Station) 执行软件: 运行于MS上 操作系统 Nucleus 物理层协议栈 驱动程序 gsm协议栈 MMI META :The Mobile Engineering Testing Architecture Catcher

操作系统 Nucleus 实时操作系统,MTK封装了适配层,将OS封装了一些API,这些API为其他软件提供服务,如:队列,消息,timer,内存管理等

L1层协议栈(GSM 物理层) L1或者叫物理层,提供物理介质上的bit流传输,遵循 gsm 技术05系列规范 为上层软件提供服务,且控制逻辑信道到物理信道的映射和安排 无线控制以及TDMA桢 FLM,帧信号,行扫描起始信号;CP,显示数据位移信号;LP,显示数据锁存信号,行扫描信号的位移信号;M,交流驱动波形信号,这是液晶显示驱动特性所特有的。

L1层逻辑图

L1各部分功能 L1异步逻辑:处理上层软件的消息请求,发送L1处理后的结果给上层软件 Surrounding Cell Engine :处理相邻小区的功率测量以及同步信息获取 L1层控制:处理无线环境中的TDMA时序安排,包括定时提前以及来自基站的功率控制 L1驱动:DSP 以及无线控制

设备驱动 设备驱动支持所有MCU(微处理器单元)外设的控制功能 本模块处理一些用户可见操作的一些设备,如键盘,LCD等

MTK平台外设

外设功能解释 SIM: Subscriber Identity Module UART: Universal Asynchronous Receiver/Transmitter SPI: Serial Port Interface LCD: Liquid Crystal Display GPIO: General Purpose Input/Output GPT: General Purpose Timer RTC: Real Time Clock WDT: Watch Dog Timer PWM: Pulse Width Modulation Alerter Keypad PMIC: Power Management IC BMT: Battery Charging Management task AUX task: Auxiliary task ADC Sched.: Analog to Digital Converter Scheduler USB task: The USB 1.1 protocol and driver IrDA task: The IrDA and driver Camera: Camera driver for integrating with 3rd party camera module MSDC: Memory card driver, supporting SD, MMC cards and Memory Stick JPEG Decoder: Software for controlling hardware JPEG decoder

L2/L3/L4层协议栈 本部分覆盖了许多gsm/gprs协议需求点 为上层应用程序提供卓越的gsm/gprs平台 软件平台非常适合手机上面的操作以及通过AT命令进行PC操作

模块介绍 RMI Remote MMI,PC端通过UART口与协议栈进行通讯 FMI Feature rich MM L4 MMI通过L4与gsm/gprs协议栈进行通讯,包括以下子模块 ATCI: AT Command Interpreter, 解释来自PC端的命令并命令L4做相应的动作 L4A: L4 adaptation Layer, MMI与L4A通过消息通信 L4C: L4 Control entity, 处理所有的应用程序请求和响应 UEM: User equipments adaptation, 驱动相关的适配层

NVRAM Nor-volatile RAM, 是MMI到Flash的一个适配层, 保存一些默认设置 PHB: Phone book management, 电话簿相关的处理,如分类等 SMU: SIM management Unit, 安全性管理以及STK CSM: Circuit switching protocol stack management电路交换协议栈管理 RAC: Registration access control SMSAL: Short message service application layer TCM: Terminal context management NVRAM Nor-volatile RAM, 是MMI到Flash的一个适配层, 保存一些默认设置 SIM Subscriber identity module. Handle SIM behavior as ETSI 11.11 description DATA 电路交换数据服务,包括以下子模块

CC Circuit-switched call control 电路交换呼叫控制 FAX: Group 3 Facsimile TDT: Transparent circuit switching data L2R: Layer 2 relay protocol for non-transparent circuit switching data RLP: Radio link protocol for non-transparent circuit switching data CC Circuit-switched call control 电路交换呼叫控制 SS supplementary service 附加服务 SMS short message service 短消息服务 SM session management 会话管理 MM/GMM mobility management 移动性能管理 SNDCP sub-network dependent convergence protocol

LLC Logical link control 逻辑连接控制 RR Radio resource management, 包括以下子模块 RRM: Handles cell selection and PLMN selection RMPC: Handles the procedures in Idle/Dedicated state including the surrounding cell scheme and measurement reporting LAPDM: Handles the procedure defined in GSM layer 2 RLC: Radio link control protocol MAC: Medium access control protocol MPAL: Adaptation layer for RR and L1A PPP Point to Point protocol layer,客户端点对点协议

MMI介绍 UI架构 应用程序 与ps的通信

MMI Framework OLS 操作系统适配置层, 对操作系统进行封状 Task MMI任务, 与L4 task 进行通信 File system 与存储设备通信,进行文件存取

MMI GUI介绍 Theme 主题风格, 主要使菜单等颜色设置,以及背景图片等 UI component Category Screen 每一个界面都是一个screen Font 字体风格 Editor 编辑筐 输入法 访问LCD 驱动 MMI定制工具

MMI应用程序 Phonebook Message Call History Setting User profile Fun and game Organizer Service Shortcut Camera …………………….

三、MTK 方案Task架构

系统初始化 Hardware boot and setup system stack etc Nucleus Plus RTOS initialization Hardware Initialization Tasks/Modules initialization/configuration Tasks Creation TCT_schedule() for scheduler to context switch

MMI task 主要管理应用程序,task从与之相关的队列中读取event MMI Queue 协议栈/L4 将events写入到队列中,MMI task 从队列中读取event L4 Queue MMI task 将MMI events 写入队列,L4 task 从队列中读取event

MMI task MMI 注册消息事件 在MMI队列上面等待消息 协议栈将消息放入MMI消息队列 Framework Layer 处理events Framework layer 调用应用程序注册的回调函数 回调函数中应用程序用UI category 函数和风格进行screen 显示

MTK Customer创建task typedef struct { kal_char *comp_name_ptr; kal_char *comp_qname_ptr; kal_uint32 comp_priority; kal_uint16 comp_stack_size; kal_uint8 comp_ext_qsize; kal_uint8 comp_int_qsize; kal_create_func_ptr comp_create_func; kal_bool comp_internal_ram_stack; } comptask_info_struct; const comptask_info_struct custom_comp_config_tbl[ MAX_CUSTOM_TASKS ] = { /* INDX_CUSTOM1 */ {"CUST1", "CUST1 Q", 210, 1024, 10, 0, customMMI_create, KAL_FALSE}, NULL, KAL_FALSE}, }

Tast create kal_bool customMMI_create(comptask_handler_struct **handle) { static const comptask_handler_struct customcms_handler_info = MMI_task, /* task entry function */ NULL, /* task initialization function */ NULL, /* task configuration function */ NULL, /* task reset handler */ NULL, /* task termination handler */ }; *handle = (comptask_handler_struct *)&customcms_handler_info; return KAL_TRUE; }

注册消息事件 SetProtocolEventHandler (mmi_msg_handle_new_msg_ind, MSG_ID_SMS_NEW_MSG_INDEX_IND); for(count = 0; count < maxProtocolEvent; count++) { if(protocolEventHandler[count].eventID == eventID) isNewEvent = FALSE; break; } protocolEventHandler[count].eventID = eventID; protocolEventHandler[count].entryFuncPtr = funcPtr;

发送消息 msg_send_ext_queue(send_ilm); typedef struct ilm_struct { module_type src_mod_id; module_type dest_mod_id; sap_type sap_id; msg_type msg_id; local_para_struct *local_para_ptr; peer_buff_struct *peer_buff_ptr; } ilm_struct; msg_send_ext_queue(send_ilm);

MMI task 等候消息 if(!OslReadCircularQ(&Message)) { OslReceiveMsgExtQ(qid, &Message); OslGetMyTaskIndex( &my_index ); OslStackSetActiveModuleID( my_index, MOD_MMI ); }

处理消息 for(count = 0; count < maxProtocolEvent; count++) void ProtocolEventHandler(U16 eventID,void* MsgStruct,int mod_src, void *peerBuf) { ExecuteCurrProtocolHandler((U16)eventID,MsgStruct,mod_src, peerBuf); } for(count = 0; count < maxProtocolEvent; count++) if(protocolEventHandler[count].eventID == eventID) currFuncPtr = (PsExtPeerFuncPtr)protocolEventHandler[count].entryFuncPtr; break; if ( (currFuncPtr) && (!interrup_result) ) MMI_TRACE( (MMI_TRACE_G1_FRM, MMI_FRM_INFO_EVENT_EXECURPTO_HDLR, eventID)); //(*currFuncPtr)(MsgStruct,mod_src); (*currFuncPtr)(MsgStruct, mod_src, peerBuf);

Example: 按键处理过程 MMI task注册某个按键的处理函数 硬件扫描键盘,发现按键,产生中断,且修改相应的寄存器(记录哪个键被按) 低级中断激活高级中断,高级中断产生event Keypad task 等待事件,收到event,读取寄存器,解析按键,知道哪个键被按,发送message 到 UEM task UEM task 发送按键事件到MMI task MMI Framework 找到MMI注册的该按键的处理函数,执行相应的动作

THANKS!