收藏 分销(赏)

MTK-平台软件开发基础-PPT课件.ppt

上传人:快乐****生活 文档编号:10804955 上传时间:2025-06-17 格式:PPT 页数:40 大小:1.21MB 下载积分:12 金币
下载 相关 举报
MTK-平台软件开发基础-PPT课件.ppt_第1页
第1页 / 共40页
MTK-平台软件开发基础-PPT课件.ppt_第2页
第2页 / 共40页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MTK,平台软件开发基础,唐恒,TCL,2008-1-2,1,目录,关于基线版本,驱动开发,应用开发,调试,模拟器,-MODIS,软件开发路线图,2,基线版本,基线版本的获得,基线版本代码,JRD25_06B_W07.12_V59_GF39,基线版本有什么?,3,基线版本有什么?,目录结构,Custom,drv,Make,Plutommi,Cusomer,Mmi,4,怎么迈出第一步,-,编译基线版本,环境,ADS1.2+Patch,Perl,SourceInsight,(非必要),VC6,(仅,Modis,需要),Cmd,Dos,命令环境,Make jrdsz25_07a gprs new|remake|update,5,我们做了什么?,-,编译过程,Perl,脚本解释器解释,make2.pl,脚本内容:,定位,mak,文件,解析宏定义,生成需要编译的模块列表,查找,make,目录下相关模块对应的,lis,和,inc,文件,对,lis,文件中列出的,.c,文件进行编译,生成对应的,.o,文件,根据,scatter,文件生成,bin,文件,整个编译过程需要,40-120,分钟,需要耐心等待,6,让板子上跑起来,-,驱动开发,驱动开发的工具,Driver Custom Tool,其他注意事项:,NORFLASH,型号,LCD,参数调试,7,大功告成:,下载,下载工具:,Flash Tool,功能:下载、格式化、恢复出厂设置,8,我们还能做什么?,改善界面,增加应用,捉虫,9,看上去更美,-,如何改善界面,修改资源,字符串,Step 1:add string to ref_list.txt,Step 2:add string ID to ENUM associated with app,Step 3:using macro ADD_APPLICATION_STRING2,Step 4:S8*my_string=GetString(MY_STR_ID);,Using APP_BASE to guarantee the uniqueness of string ID,图片,Step 1:put images in the folder assigned to app,Step 2:add image ID to ENUM associated with app,Step 3:using macro ADD_APPLICATION_IMAGE2,Step 4:using image ID directly as parameter,Using APP_BASE to guarantee the uniqueness of image ID,10,看上去更美,-,如何改善界面,2,修改资源,菜单,Parent menu,Unique menu item ID,Hilite function and LSK handler,Associated with screen,声音,皮肤,(skin),Audio player,Calculator,FMRadio,主题,(theme),字体,TOOLS:MCT,MCUtoolsAudioResGen,11,只有想不到,没有做不到,-,开发新的应用,增加自己的模块,增加自己的目录、文件,在,make,目录下添加自己模块的目录,依样画瓢的复制我们的,lis,和,inc,文件,增加模块名到,mak,文件中,12,只有想不到,没有做不到,-,开发新的应用,2,窗口和消息,-,不同的,windows,!,Catagorywindow,历史机制,消息机制,13,14,Category screen,,我们的百宝箱!,所有的应用都是由窗口组成,大部分的需求都能用于定义的窗口(,Category screen,)完成,Category Screen,category,1,screen,category,2,screen,category,3,screen,Category,XXX,screen,ShowCategoryXXXScreen,RedrawCategoryXXXScreen,ExitCategoryXXXScreen,GetCategoryXXXHistory,GetCategoryXXX1HistorySize,ShowCategoryXXXScreen:,Init XXXScreen data;,RedrawCategoryXXXScreen;,RedrawCategoryXXXScreen:,draw_title();,show_fixed_list();,show_left_softkey();,show_right_softkey();,pixtel_UI_show_image,pixtel_UI_fill_rectangle,Common Screen:,15,在不同的窗口间跳转,-,历史机制,16,没有最好,只有更好,-,多任务处理,为什么要多任务,任务的基本属性,优先级,堆栈大小,如何创建新任务,17,系统任务,18,系统模块,RMI,:Remote MMI,i.e.,PC side,which uses AT commands to communicate with Protocol stack.,L4,:The adaptation layer between MMI/AT and protocol stack.,L4A:,Layer 4 Adaptation to translate primitives sent from upper layers to function calls.,L4C,:Layer 4 Controller,coordinates all L4 modules to serve upper layers.,ATCI,:AT Command Interpreter.,UEM,:User Equipments module used to abstract basic device drivers like,keypad,LED,GPIO.,PHB,:,Phone Book management.,SMU,:Security Management(SIM,STK).,CSM,:Call Service Management(bearer capability handling,CSD/FAX service,CC,SS).,RAC,:Registration Access Control(GSM/GPRS registration management,PLMN,list/selection,RSSI report),SMSAL,:SMS Application Layer(message storage,MO/MT messages,CB).,TCM,:Terminal Context Management(PDP context profiles,context,activate/deactivate,relay of packet data),interface to PPP/TCPIP/SNDCP.,ENG,:Engineer Mode to log information.,19,任务的基本属性,-task_info_struct,*task_name_ptr -pointer to task name,*task_qname_ptr;-pointer to task external queue name,*task_priority -task priority,*task_stack_size -task stack size,*task_id -created task entity id,*task_ext_qid -created task external queue id,*task_int_qid_ptr -pointer to created task internal queue,*task_entry_func -tasks entry function,*task_cfg_func -tasks configuration handler,*task_init_func-tasks initialization handler,*task_reset_func -tasks reset handler,*task_end_func -tasks termination handler,*task_ext_qsize-tasks external queue size,20,实现自己的任务,1,、定义任务,ID,和模块,ID,2,、填写任务列表,21,实现自己的任务,3,、配置任务初始化参数,4,、实现任务创建函数,5,、定义消息,22,消息,为什么是消息?,为什么要分层?对应多任务,分几层?,23,消息,为什么是消息?,消息能做什么?,都有些什么消息,协议栈消息,键盘消息,屏幕消息,24,协议栈消息,Set Event Handler,:,void SetProtocolEventHandler(PsFuncPtr funcPtr,U16 eventID),protocolEventHandlercount,Of,ProtocolEvent.eventID=eventID;,protocolEventHandlercount,Of,ProtocolEvent.entryFuncPtr=funcPtr;,Execute Event Handler,:,void ExecuteCurrProtocolHandler(U16 eventID,void*MsgStruct,int mod_src,void*peerBuf),PsExtPeerFuncPtr currFuncPtr=(PsExtPeerFuncPtr)protocolEventHandlercount.entryFuncPtr;,(*currFuncPtr)(MsgStruct,mod_src,peerBuf);,E,vent,ID,:See plutommimmiAsyncEventsAsyncEventsIncProtocolEvents.h,25,键盘消息,Key Press Event:,Set Key Event Handler:,void SetKeyHandler(FuncPtr funcPtr,U16 keyCode,U16 keyType),currKeyFuncPtrskeyCodekeyType=funcPtr;,Execute Key Event Handler:,void ExecuteCurrKeyHandler(S16 keyCode,S16 keyType),(*currKeyFuncPtrskeyCodekeyType),KEY TYPE,KEY_EVENT_DOWN,KEY_EVENT_UP,KEY_LONG_PRESS,KEY_REPEAT,KEY_END,KEY_SEND,KEY_RIGHT_ARROW,KEY_WAP|KEY_ENTER|,KEY_IP,KEY_DOWN_ARROW,KEY_LEFT_ARROW,KEY_RSK,KEY_UP_ARROW,KEY_POUND,KEY_0,KEY_STAR,KEY_9,KEY_8,KEY_7,KEY_6,KEY_5,KEY_4,KEY_3,KEY_2,KEY_1,KEY_CLEAR,KEY_LSK,KEY CODE,KEY_QUICK_ACS|,KEY_CAMERA,KEY_VOL_DOWN,KEY_VOL_UP,L4C,Queue,Send,Key Press,Msg,Protocol Stack/L4,MMI,keypad buf,App Screen,Read,Key Press,Msg,Call,Event,Handler,Key press events,flow,keyCode,keyType,keyCode,keyType,ExecuteCurrKeyHandler,Refer files:Keypad_def.c,Kbd_table.h,26,屏幕消息,Refer files:Keypad_def.c,Kbd_table.h,27,消灭害虫,-,调试方法和工具的使用,最强的调试工具,-Trace32,JTAG,接口,Joint Test Action Group,优化问题,调试的代码和源代码有可能不一致。,WatchDog,Application_init,中,WDT_Enable(KAL_FALSE);,Mak,文件中编译选项,最头大的跟踪工具,-Catcher,数据库,分类过滤,如何打印自己的调试信息,不要迷信,Catcher,!,28,Catcher,的使用,设置数据库文件,29,Catcher,的使用,进入调试模式,设置端口,速率。连接。,设置过滤条件,30,Catcher,的使用,-,数据分析,31,Catcher,的使用,-MSC VIEW,32,事半功倍,-Modis,模拟器的使用,Modis-Mobile Development Integrated System),33,事半功倍,-Modis,模拟器的使用,如何生成,Modis,工程?,Make jrdszxx_gprs new_modis,34,事半功倍,-Modis,模拟器的使用,Modis,能做什么?,界面模拟,SIM,卡模拟,文件系统模拟,网络(电话、短信)模拟,串口通讯模拟,35,MTK,的其他工具,META,读写,NVRAM,RF,测试,MCT,字库生成,时区生成,FM,收音机皮肤,,MP3,播放器皮肤,计算器的按键坐标,字符串、图片的比较、融合,36,软件开发路线图,新平台,非新平台常规项目,无大的新功能的较小改动的常规,Relook,项目,37,通用软件开发模型,-,新平台,(83,个工作日,),Base line,整理,(1W),EVB,或小板调试,(2W),base line,测试,平台问题改善,(2W),UI,调整,,MMI,,功能开发,移植,(3W),1st,2nd,集成测试,(2W),3rd,集成测试,,1st QA,测试,(2W),2nd QA,测试,场地测试,(2W),3rd QA,测试,(8,个工作日,),4th QA,专项测试,(1W),38,通用软件开发模型,-,非新平台常规项目(,46,),Base line,整理,(1W),EVB,或小板调试,(1W),UI,调整,,MMI,,功能开发,移植,(2W),集成测试,1st QA,测试,(2W),2nd QA,测试,(8,个工作日,),3rd QA,测试,(8,个工作日,),39,通用软件开发模型,无大的新功能的较小改动的常规,Relook,项目:(,31,个工作日),Base line,整理,小板调试,(3,个工作日,),UI,调整,,MMI,,功能开发,移植,(2W),集成测试,1st QA,测试,(2W),2nd QA,测试,(8,个工作日,),如考虑新,UI,,新应用的开发,合作方应用的开发,将具体问题具体分析,调整,“,UI,调整,,MMI,,功能开发,移植,”,时间,40,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服