展讯平台软件架构介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
展讯平台软件架构介绍
Spreadtrum 12/19/2010
2010-12-19
Proprietary and Confidential Information
2
培训目的
对展讯平台软件架构有初步认识 对各模块功能有初步概念
2010-12-19
Proprietary and Confidential Information
3
Table of Contents
软件开发平台框架 平台各模块介绍 编译开发环境 接口使用举例
2010-12-19
Proprietary and Confidential Information
4
软件开发平台框架
软件开发平台框架
软件架构 平台提供的features
2010-12-19
Proprietary and Confidential Information
5
软件架构
Call SMS CBS SS PB Game ….
其他应用, e.g. wap,java, MMS,etc.
Multimedia Audio/Video
Other application
ATC
MMI Kernal/GUI
OSA DAL(LCD,KPD,CHR) FS, AUDIO, VIDEO, Multimedia Engines MIDI MP3 MPEG4 H.263 Engines Digital Camera Drivers HAL) Proprietary and Confidential Information MN (Call, CB, SS, SMS, GPRS)
Layer 3
RTOS
Diagnosti cs
Layer 2
Layer 1 6
2010-12-19
平台提供的Features
完整的GSM/GPRS通信和数据服务功能. 统一的RTOS的APIs - Thread控制,Timer, Memory Management, Message Queue… 提供完整的TBIOS APIs,能快速的适应硬件和外设的更改。 - LCD, Keypad, Charging, EFS, RTC, Audio…. 整合了部分第三方的软件,提供完整的解决方案 使用client-server机制 提供完整的软件调试APIs
2010-12-19
Proprietary and Confidential Information
7
Table of Contents
软件开发平台框架 平台各模块介绍 编译开发环境 接口使用举例
2010-12-19
Proprietary and Confidential Information
8
平台各模块介绍
平台各模块介绍
OSA接口 文件系统接口 TBIOS (Terminal Basic I/O System)接口 协议软件接口 MMI开发平台接口
2010-12-19
Proprietary and Confidential Information
9
OSA接口
OSA:OS Abstract layer,提供对OS的封装
统一的API接口,代码可直接在Win32上模拟执行,加 快开发进度 易移植 提供额外的调试接口
2010-12-19
Proprietary and Confidential Information
10
OSA接口
内存管理
线程管理
Client/Server通信机制
打印调试
定时器管理
互斥/信号量资源管理
消息/EVENT管理
OSA接口——内存管理
动态内存管理方式:
–Memory Pool
修改配置:mem_cfg_xxx.c
内存池管理详细描述内存池示意图
内存池的配置
内存池的配置是开放的,在产品驱动的mem_cfg_xxx.c文件中设置。 要更改各个POOL可用BLOCK数,只需在系统RAM大小可允许范围
内,修改该文件中的宏定义:
MAX_NUM_OF_52_POOLS
MAX_NUM_OF_100_POOLS
MAX_NUM_OF_300_POOLS
MAX_NUM_OF_600_POOLS
MAX_NUM_OF_1600_POOLS
OSA接口——线程
目前展讯平台采用ThreadX操作系统
主要特点是:单任务,可抢占式
线程分类:
-静态线程:Thread id固定,TCB(thread control block)空间静态申请。一般在系统初始化时便创建好,存在于整个系统运行周
期内,不能被删除。
-动态线程:Thread id不固定,TCB空间动态申请,以6800D平台为例,动态申请的thread,其id = TCB_address+0x1000。在需
要时创建,不需要时删除。RTOS以链表方式管理各动态线程。 创建线程时要注意优先级设置的合理性
详细使用方法请参考OS Interface User Guide一文
OSA接口——Client/Server机制
Client/Server通信机制:
一个Server对多个Client提供事件服务。Client向Server注册事件,当事件发生,Server会根据所注册的Client依次调用各Client注册时的
callback,未注册callback则采用Server默认callback。