ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:200.95KB ,
资源ID:6451302      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6451302.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TI平台初级培训.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TI平台初级培训.docx

1、TI平台初级培训LOCOSTO+和Neptune平台初级培训1. 序言 该课程主要介绍美国德州仪器公司的Locosto和Neptune平台的框架,以及目前TI和T09项目分别在这两个平台上主要功能的流程。经过培训的人员通过对平台框架和这些流程的理解,能够很快了解,掌握主要模块的一些接口流程,并能够在这两个平台上对这些模块进行修改或编写有关的代码,同时举一反三,能够很快的上手其他模块。 由于locosto和Neptune平台MFW模块的主要功能和构造都基本一样,因此只需要介绍其中之一即可。1. 概述1.1. LOCOSTO+平台概述: Locosto是美国德州仪器(TI)为无线移动终端(手机)而

2、设计的一种单芯片低成本GSM/GPRS解决方案的平台。 Locosto+是在Locosto平台集成了多媒体芯片的一个解决方案。TI集成RF的单芯片方案Locosto,以及集成多媒体处理器的Locosto+1.2. LOCOSTO+平台整体概述 Locosto+平台目前能够看到的主要分3大模块,应用控制接口(ACI),MMI框架结构(MFW),和人机界面(MMI)。其中ACI模块只有头文件,无源代码。1.3. Neptune平台概述 Neptune平台是美国德州仪器(TI)为无线移动终端(手机)而设计的一种高端多媒体芯片。 处理器TI Neptune的芯片采用130nm工艺,基于ARM9+TI的

3、DSPC55核GSM数字基带芯片,多媒体处理能力达到了260MHz2. 整体框架 MMI: 指的是人机界面的程序, 即,该程序实现后,用户可以直观看到,感受到. MFW:构建MMI框架的工作区,为MMI程序提供基本构建接口.类似Bridge的中间层和适配层这两者的功能. ACI: 应用控制接口,主要是MFW与AT命令或硬件驱动之间的通讯. 驱动: 主要是外围硬件的驱动.(包括LCD,KEY,audio,camera等)2.1. 整体框架图:2.1.1. 原有的框架 2.1.2. 目前的框架 3. MFW模块介绍和ACI接口的命名规则。3.1. MFW框架 MFW主要包括3个大模块:针对MMI界

4、面的应用(APP),针对SIM卡和网络处理(SIM),针对硬件驱动(DRIVER).3.2. MFW模块中主要文件功能大概描述:文件名文件总体功能描述说明Mfw_acie.cAci扩展功能根据目前代码,没看出有什么用处。Mfw_aud.c录音处理目前该文件没有使用Mfw_band.c收音机处理目前该文件没有使用Mfw_bt.c蓝牙处理目前该文件没有使用Mfw_bta.c蓝牙附加功能目前该文件没有使用Mfw_bte.c蓝牙应用界面处理功能目前该文件没有使用Mfw_bt_ag.c蓝牙音频网关处理目前该文件没有使用Mfw_bt_dg.c蓝牙数据网关处理目前该文件没有使用Mfw_bt_dm.c蓝牙设备

5、管理目前该文件没有使用Mfw_bt_flash.c蓝牙数据库管理目前该文件没有使用Mfw_bt_ft.c蓝牙文件管理目前该文件没有使用Mfw_cam.cCamera接口文件和硬件方面的接口Mfw_camapp.cCamera接口文件给MMI使用的Mfw_cb.c处理回调函数Mfw_cm.c通话管理目前该文件没有使用Mfw_cnvt.c字符串编码类型转换目前该文件没有使用Mfw_edt.c编辑器目前该文件没有使用Mfw_ffs.c文件管理系统接口Mfw_fv.c文件浏览接口目前该文件没有使用Mfw_icn.cIcon图标接口目前该文件没有使用Mfw_iv.cimage图片接口目前该文件没有使用M

6、fw_kbd.c键盘处理接口Mfw_lng.c语言接口目前该文件没有使用Mfw_midi.cmidi函数接口Mfw_mmi.cDemo mmi接口目前该文件没有使用Mfw_mnu.cMmi菜单接口目前该文件没有使用Mfw_mp3test.cMp3接口Mfw_nm.c网络管理接口Mfw_phb.c电话本接口Mfw_sat.cSTK接口Mfw_sim.cPIN码和SIM信息的接口Mfw_sms.c短信管理接口Mfw_ss.c辅助服务管理接口(USSD等)Mfw_str.c字符串操作接口插入,删除,长度等Mfw_td.c时间日期接口Mfw_tim.c定时器Mfw_utils.c普通的公共接口目前该文

7、件没有使用Mfw_win.c窗体接口目前该文件没有使用3.3. ACI接口命名规则: ACI接口主要是AT命令,因此其接口命名也是以AT命令来命名。命名规则:AT命令类型+AT+功能描述 如:sAT_PlusCPIN 该函数是设置PIN码AT命令类型有如下几种: 设置命令:sAT开头 询问命令:qAT开头 检验命令:tAT开头 发现结果命令:rAT开头4. 重要模块设计流程4.1. 介绍目前项目的修改情况 S1193项目修改情况: 该项目把MFW模块中不需要的功能保留不使用, 其中MFW模块中的APP模块里占用大量FLASH和RAM的代码屏蔽掉. MFW模块中需要改动的函数,该函数如果能够移植

8、到L1层(适配层)的文件,则移植过来并做修改,如果不能移植的则保留,并在其函数内进行适当的修改.对于SIM模块里能够移植的函数,则移植到L1层(适配层),同时把MFW模块中的该函数屏蔽. T09项目修改情况: 该项目主要还是在MFW模块中进行改动,改动大的或新增功能的函数,则把新增功能函数放到L1层(适配层),把改动大的函数中主要处理部分放到L1层(适配层)处理. L1层(适配层)做为MFW模块跟Bridge之间的接口层.4.2. 适配层的架构: 4.3. 适配层重要模块的设计4.4. 介绍重要模块设计流程和函数功能4.4.1. KEY 模块4.4.1.1. 函数:模块文件函数名函数功能说明K

9、EY模块Mfw_kbd.cMfwRes kbdInit (void)按键模块参数初始化(初始化按键消息处理函数,长按键定时的时间和处理函数,repeat timer 的时间和处理函数)void KeySignalProcess(char v_KeyType,char v_KeyId)按键消息处理函数static int LongPressDetected (U32 t, void *h)长按键定时器处理函数static int toAuto (U32 t, void *h)Repeat timer处理函数(目前无用)L1_kbd.cvoid l1_kbd_event_process(u8 v_

10、KeyId,t_key_type s_KeyType)适配置层把按键信息发送到bridge的消息的函数void regist_kbd_msg(U16 type, call_back_fn_t fn)注册消息void l1_get_msg(U16 type, call_back_fn_t* fn, U32* param)获取已注册消息的回调函数int l1_msg_cover(MfwEvt v_Msg, MfwHnd p_Data)翻盖消息处理函数Mfw_mme.cint globalMme(MfwEvt e, MfwHnd para)翻盖,免提,电池状态等消息处理函数4.4.1.2. 流程:1

11、初始化参数(定时时间、处理函数)2判断按键是否是pressed 类型,是则转4,否则33把released类型消息发送到bridge4把pressed类型消息发送到bridge,并启动长按键定时器5定时器时间到则把long_pressed类型发送到bridge.4.4.2. LCD模块4.4.2.1. 函数:模块文件函数名函数功能说明显示模块L1_display.cbool l1_refresh(U8 no, U16 x, U16 y, gdc_t* gdc)重新更新区域显示U8 l1_set_brightness(U8 no, U8 value)设置亮度U8 l1_set_contrast(

12、U8 no,U8 value)设置对比度void l1_key_lamp_on(void)开启键盘灯void l1_key_lamp_off(void)关闭键盘灯void l1_lcd_lamp_on(U8 no,U8 value)开启LCD灯void l1_lcd_lamp_off(U8 no)关闭LCD灯void l1_shake_on(void)开启振动void l1_shake_off(void)关闭振动void l1_seven_color_lamp_on (seven_color_param_t* param)开启七彩灯void l1_seven_color_lamp_off(vo

13、id)关闭七彩灯void l1_lcd_wakeup(U8 no)LCD唤醒void l1_lcd_sleep(U8 no)LCD进入睡眠无void LCD_Disp_Area(U8 *ImageDataPtrIF, U16 x, U16 y,U16 width,U16 height);显示区域4.4.2.2. 流程: 无(没有流程)4.4.3. 短信模块:4.4.3.1. 函数:模块文件函数名函数功能说明短信模块L1_sms.cvoid sms_init(void)初始化(把MFW模块的短信)void l1_sms_init(void)初始化(把L1层变量初始化)int l1_sms_set

14、_callback_fn(l1_sms_call_back_fns_type cb_type, call_back_fn_t fn)设置短信void sms_phbReady_ind(void)sms和phonebook 准备好处理函数bool l1_read_card_sms_info(call_back_fn_t fn)读短信信息GLOBAL void rAT_PlusCPMS (T_ACI_SMS_STOR_OCC * mem1, T_ACI_SMS_STOR_OCC * mem2, T_ACI_SMS_STOR_OCC * mem3)设置短信存储空间结果返回处理函数bool l1_sm

15、s_sim_read_all(sms_sim_all_t * data,call_back_fn_t fn)读所有短信void rAT_PlusCMGL ( T_ACI_CMGL_SM * smLst )读所有短信函数请求结果返回处理函数void sms_ok_CMGL (void)所有短信请求成功的处理函数bool l1_read_sms_info(U16 index, call_back_fn_t fn)读某条短信信息bool l1_read_card_sms(U16 index,call_back_fn_t fn)读某条短信内容void rAT_PlusCMGR(T_ACI_CMGL_S

16、M * sm, T_ACI_CMGR_CBM * cbm)读短信请求结果返回处理函数void sms_ok_change()读短信请求成功处理函数bool l1_write_sms_info(sms_info_t *info,call_back_fn_t fn)写或修改短信信息bool l1_write_card_sms(sms_data_t *sms_data,call_back_fn_t fn)写或修改短信内容void rAT_PlusCMGW(UBYTE index, UBYTE numSeg)写短信请求bool l1_delete_card_sms(U16 index,call_bac

17、k_fn_t fn)删除短信bool l1_send_sms( U8 *number, message_type_t type, U8 *data, U16 length, sms_region_t flag, coding_t code, sms_info_head_t* info_head, call_back_fn_t fn)发送短信void l1_get_sca(U8 *no )获取短信中心号码void l1_set_sca(U8 *no )设置短信中心号码void l1_set_sms_expire(sms_expire_t expire)设置短信有效期void l1_set_sms

18、_replay(bool enable)设置短信回执开关void rAT_PlusCMT(T_ACI_CMGL_SM* sm)接收到一条新短信void rAT_PlusCMTI(T_ACI_SMS_STOR mem, UBYTE index, T_ACI_CMGL_SM* sm)接收到一条新短信信息void rAT_PlusCBM(SHORT sn, SHORT mid, SHORT dcs, UBYTE page, UBYTE pages, T_ACI_CBM_DATA* data)接收到小区广播void rAT_PlusCBMI(T_ACI_SMS_STOR mem, UBYTE inde

19、x)接收到小区广播信息void rAT_PlusCDS(T_ACI_CDS_SM *st)接收到状态报告void sms_ok_cmd( T_ACI_AT_CMD cmdId )一些设置或请求消息成功的处理函数void rAT_PlusCMS (T_ACI_AT_CMD cmdId, T_ACI_CMS_ERR err, T_EXT_CMS_ERROR *ce)一些设置或请求消息失败的处理函数T_MFW_SMS_STAT sms_get_msg_type(UBYTE* UdhData, UBYTE UdhLength)获取短信类型int l1_sms_set_callback_fn(l1_sm

20、s_call_back_fns_type cb_type, call_back_fn_t fn)保存各种短信回调函数指针int l1_sms_call_callback_fn(l1_sms_call_back_fns_type cb_type, U16 fn_type, U32 fn_p1, void* fn_p2)执行各种短信回调函数bool L1_SMSTimeDateInfo(T_ACI_VP_ABS* smsTimeDateInfo, bg_date_t* date, bg_time_t* time, BOOL flg)短信状态转换(L1和MFW)static void L1_SMSC

21、onvertStatus(T_ACI_SMS_STAT *stat,sms_type_t *l1_sms_type,BOOL flg)短信状态转换(L1和MFW)static U8 l1_sms_convert_data_code(U8* indata,U32 inlen,U8 intype,U8 *outdata, U32* outlen, U8* outtype, BOOL flg)短信数据编码转换4.4.3.2. 流程:4.4.3.3. 获取SIM卡短信信息 1保存回调函数指针 2短信驱动初始化是否结束,结束转4,否则转入3 3发送获取失败消息,退出 4询问短信信息是否准备好了(qAT_

22、PlusCPMS),已准备转6, 否则转5 5发送获取失败消息,退出 6退出,转入7(等待返回消息) 7获得短信信息(rAT_PlusCPMS),发送获取成功消息,退出。4.4.3.4. 获取所有SIM卡短信内容1 保存回调函数指针和数据缓冲区地址2 发送短信列表消息(sAT_PlusCMGL)3 退出,转入4(等待返回消息)4 获得短信内容(rAT_PlusCMGL)5 判断短信列表的开始ID是否有效,如果有效转7,否则转66 发送获取失败消息,退出,转入4或117 判断该短信类型,如果未知的,转入10,否则则转入8 8 根据所判断的所知的短信类型,把短信类型付值对应变量9 转换短信状态,时

23、间日期和电话号码。退出,转入4或1110 把特殊短信类型付值对应变量,退出,转入4或1111 短信是否全部获取完成(sms_ok_CMGL)12 发送获取成功消息,退出。 4.4.3.5. 获取SIM卡某条短信信息1 保存回调函数指针2 判断上次读取是否有返回信息,如果没有,转入3,否则43 发送获取失败消息,退出。4 判断是否获取临时缓冲区的短信,是转5,否则转85 保存新短信到缓冲区是否成功,如果成功转6,否则转76 退出7 发送获取失败消息,退出。8 是否发送读取短信消息成功(sAT_PlusCMGR),成功则退出,否则发送发送获取失败消息,退出。9 获取短信内容。(rAT_PlusCM

24、GR)10 判断是否为特殊短信,如果是转入11,否则1211 发送获取短信成功消息,退出12 把短信内容转换成UTF8编码13 判断转换是否成功,如果成功,转入14,否则1514 发送获取失败消息,退出。15 发送获取短信成功消息,退出4.4.3.6. 写短信信息1 判断index是否为零,如果是转入2,否则转入62 保存回调函数指针,转换短信状态3 发送写短信内容消息(sAT_PlusCMGW),判断是否成功,如果成功转入5,否则转入44 发送写短信信息失败消息,退出5 退出,转入106 保存回调函数指针7 发送读短信内容消息(sAT_PlusCMGR),判断是否成功,如果成功转入9,否则转

25、入88 发送短信修改失败消息,退出9 退出10 获取写新短信的index(sms_ok_cmd)11 获取写新短信失败(rAT_PlusCMS)12 发送写短信信息失败消息,退出4.4.3.7. 写短信内容1 保存回调函数指针2 数据代码转换(UTF8转换成UCS2或7bit)3 转换是否成功,成功转入5,否则44 发送写短信失败消息,退出。5 设置保存的数据类型(UCS2等)6 判断是否设置成功,如果成功转7,否则转47 转换短信状态(已读,未读等)8 发送写短信消息(sAT_PlusCMGW)9 判断写短信消息是否执行,如果执行转10,否则410 退出,转1111 如果写短信成功,执行(s

26、ms_ok_cmd),发送写短信成功消息,退出,否则转入1212 执行rAT_PlusCMS,转44.4.3.8. 删除某条短信1 保存回调函数指针2 判断上次删除短信操作是否完成,如果完成转4,否则33 发送删除短信失败消息,退出4 发送删除短信消息(sAT_PlusCMGD)5 判断删除短信消息是否正在执行,如果执行转6,否则36 删除成功,执行(sms_ok_cmd),发送删除短信成功消息,退出。否则,执行(rAT_PlusCMS),转34.4.3.9. 发送短信1 保存回调函数指针2 判断服务中心号码是否为空,为空转3,否则转43 发送发送短信失败消息,退出4 判断是否特殊短信,如果是

27、转5,否则转65 判断发送特殊短信消息是否执行(sAT_PlusCMGS_Gl),如果执行退出,转10,否则转36 对短信进行编码7 判断通知ACI短信的编码类型是否成功,成功转9,否则转38 发送发送短信消息(sAT_PlusCMGS),9 判断发送短信消息是否执行,如果执行退出,转10,否则转310 如果发送短信成功,执行(sms_ok_cmd),发送发送短信成功消息,退出。否则,执行rAT_PlusCMS,转34.4.3.10. 获取短信呼叫中心号码1 判断参数指针是否为空,是转2,否则转32 退出3 调用获取短信呼叫中心号码(qAT_PlusCSCA)4 判断是否执行成功,如果是转5,

28、否则转25 把呼叫中心号码拷贝到参数指针里,退出4.4.3.11. 设置短信呼叫中心号码1 判断参数指针是否为空,是转2,否则转32 退出3 判断设置呼叫中心号码(sAT_PlusCSCA)和设置数据编码类型(sAT_PlusCSMP),其中之一是否失败,如果失败转2,否则转44 保存服务中心号码到1号位置(sAT_PlusCSAS),退出4.4.3.12. 设置短信有效期1 判断需要设置的短信有效期是否有效,无效转2,否则转32 退出3 判断查询呼叫中心号码(qAT_PlusCSCA)和查询数据编码类型(qAT_PlusCSMP),其中之一是否失败,如果失败转2,否则转44 修改短信有效期,

29、重新把呼叫中心号码(sAT_PlusCSCA)和数据编码类型设置(sAT_PlusCSMP)5 判断以上两个是否失败,如果失败,转26 保存服务中心号码到1号位置(sAT_PlusCSAS),退出4.4.3.13. 设置短信回执1 判断是否开启短信回执,如果是转2,否则转22 设置新短信指示到基站命令(sAT_PlusCNMI)3 判断是否成功,成功返回true,失败返回false备注:开启与不开启,主要是设置新短信指示到基站的函数参数设置不同4.4.4. 电话本模块:4.4.4.1. 函数:模块文件函数名函数功能说明电话本模块L1_card.cvoid l1_card_init()初始化电话本(电话本所需的事件及处理这些事件的回调函数)int cardbookevent (MfwEvt e, void *para)处理电话本事件的回调函数bool l1_get_card_pb_info(call_back_fn_t fn)获得SIM卡内电话本信息bool l1_write_card_pb_record(card_pb_record_t* record,call_back_fn_t fn)写电话本记录bool l1_read_card_p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1