《1软件一二部新员工培训期计划MMI开发工程师》由会员分享,可在线阅读,更多相关《1软件一二部新员工培训期计划MMI开发工程师(14页珍藏版)》请在金锄头文库上搜索。
1、软件新员工培训期计划(MMI开发工程师)修改记录版本号拟制人/修改人拟制/修改日期更改理由V1.0佚名2010-02-01V1.1Kite2010-02-11增加了常用软件安装、编译命令注意事项、实践部分注意 点(字串资源添加部分);V1.2Kite2010-02-26依据yy的建议,增加版本修改部分,并对实践部分继续进 行完善和补充,并对文档进行了标准化;1. 前言本计划主要针对新入职的无工作经验的新员工在 MTK平台的开发和日常相关工作的培训计划,培训主要关注点为日常工作的基本工作技能培养,有关系统性的深入培养暂不纳入本计划之内,有待工作中持续加强和通过内部专项培训进行提高。对于有一定工作
2、经验但无 MTK平台经验的新入职员工,指导老师可以根据实际情况,调整培训计划,而不用完全按照本计划表进行。但是所作调整也需要另拟培训计划表,作为培训之依据,且培训之最终效果也应达到本计划中所列所有培训目标项。对于有一定工作经验,且具 MTK平台经验的新入职员工,指导老师可以依据本计划中所列的培训目标项对其进行评估。如果能达到我们培训目标的培训项可以略过;如果无法达到的,必须也按照本计划相应培训项的措施进行培养。2. 开发环境搭建常用软件安装指南如下是常用软件的安装地址,相关软件的按照指导文档见:编译环境SCM常用软件安装指南 最新版本doc,重点需要注意的是 ADS、CC和CQ的安装。序号软件
3、说明下载地址备注1VCftp:/192.168.24.8/soft/MStudio98/2sourceinsight代码浏览器网络下载,或者找周围同事3ultraedit文本编辑器网络下载,或者找周围同事4beyond compare比较工具网络下载,或者找周围同事5perl编译环境编译环境ActivePerl-5.86811-MSWin32-x86-122208.msi6ADS12编译环境编译环境ads_1.2参照SCM常用软件安装指南.doc 注意安装在C盘7ADS patch编译环境编译环境 ADS1.2 Patch ToBuild 848ADS12安装完毕之后,把ADS patch下的
4、 文件直接copy到安装目录下覆盖原文件 即可8MinGW编译环境编译环境MinGW直接copy到ARM安装目录,与ADSv1_2目录并列9msys编译环境编译环境msys同上10incredibuild分布式编译分布式编译客户端极其补丁3.40Coordinator location, computer 选择:192.168.24.10012incredibuild分布式编译分布式编译客户端极其补丁3.40incredibuild_3.40patch运行key.bat文件即可,注意该软件有 30 天试用期,在试用期到期之前重新运行 key.bat,则恢复试用期到 30天(有个task 的补丁
5、,可以每周自动更新时间为30天)13Flashtool工具找周围同事要用于把bin文件下载到手机上,操作参考 相关文档14Cather工具找周围同事要用于调试跟踪故障,操作参考相关文档15Meta工具找周围同事要查看手机文件系统,操作参考相关文档16cc(clearcase)版本控制192.168.24.40clearcase_setup参照SCM常用软件安装指南.doc17cq(clearquest)故障管理192.168.24.40cq参照SCM常用软件安装指南.doc常用软件安装注意要点1、 ADS安装请注意导入license.dat (在ADS安装目录下),否则ADS编译报错;2、 s
6、ource in sight输入注册码后请注意不要回车,而应该点击0K按钮,否则回车会按照试 用(try it)处理;3、 分布式编译过程中运行build monitor可以观察到分布式编译所用到的计算机,其实也是判断分布式编译是否有效的一种方法;4、Ultraedit如果打开文本文件为乱码,请另存一下,然后从新打开;5、 CC上软件版本 config spec的查询,请登录http:/192.168.24.15/cqweb/login (可以冋技术 管理部申请账号),选择版本管理系统登录进入,公共查询- 版本跟踪-all_project,查找并选择项目名称,再选择“FOR自动编译”即可。3.
7、 基本技能学习版本控制工具学习关于CC、CQ使用的简单培训学习目标:a. 会自己使用 CC建立相应项目的代码环境;能够明白CC中label、bran ch、vob、cs、节点、view 等概念。b. 能够熟悉CQ中BUG的管理流程。(此时并不要求对CC其他功能的熟练使用,后续会有相应安排)编译命令学习学习target环境的编译命令学习目标:能够区分 new、remake、update、clean、resgen等的用法;编译出错如何在LOG目录下寻找相应信息。这里先简单介绍一下几个命令的区别:1) new -用于生成.bin文件,它包含以下动作clean + scan + compile +li
8、nk使用方法一般是这样的:make D901 gprs/gsm new其中D901是cusotmer名称,为了表述方便以D901为例,gprs/gsm是project2) update -编译一个或多个模块,它包含以下动作:scan + compile +link。使用方法是 make D901 gprs/gsm update mmiresource,其中 mmiresource是具体某个模块的名称,update会首先检查文件之间的依赖关系,然后编译发生改变的代码。Update后面如果不跟模块名称,则是编译所有模块。3) remake -应该是最常用的编译命令,使用方法是:make D901
9、gprs/gsm remake mmiresource,它包含以下动作:compile + link学习PC模拟器的编译培训目标:学习 modis的编译,能够生成所需要的工作组文件MoDlS.dsw,并在该工作组下进行代码调试。一般情况下,为了产生 modis.dsw文件,需要进行以下几步:make D901 gprs newmake D901 gprs gen _modismake D901 gprs codege n_modis其中命令 new只需编译大约几分钟,等资源编译成功后,就可以终止,然后执行gen_modis, codegen_modis,生成工作组文件 modis.dsw,就说
10、明命令执行成功了。以上简单介绍了比较常用的几个编译命令,具体请参考 MTK 文档MTK_MakeBuild_Design_Customer.pdf,该文档详细介绍了make 指令、 Gsm.mak、Option.mak、Verno_*.bld、make.bat,以及每条指令是怎么解析的,告诉开发人员如何新添 加一个模块并编译它。编译命令注意事项1、 如果新员工对于 GNU gcc编译过程有理解的话 (没有这方面的经验,则可以补充一下这方面的知识,MTK的编译过程本质上也是对GNU gcc编译的应用,只不过做了一定的封装,并借助了 perl语言),将有助于理解 MTK的编译过程;2、 不管是编译
11、还是 Modis编译,请事先启动分布式编译工具(In credibuild Age nt Tray-ico n , 启动之后在电脑屏幕右下角有一个箭头显示)以提高编译效率,否则编译时间会很长;3、 VC可以直接关联分布式,这样在VC上就可以出现分布式的按钮;4、 编译过程中请注意不要改动cmd窗口属性中缓冲区大小的设置,如果设置过大,可能因内存不足导致编译时间过长(即使是启动了分布式编译);5、 在VC环境下运行 Modis,如果出现头文件找不到的情况,请查看 modis目录下各个子 目录下相关ini文件中有关该头文件的指定路径,并检查该路径下是否存在该头文件;6、 运行modis看不到界面,
12、请检查MoDISMoDISSkins目录下的图片文件是否没有解压缩, 从而造成图片资源无法加载;7、如果 modis运行报有些函数或者变量找不到的链接错误,则在 MoDISdrv_simsrcw32_dummy_w ndrv.c 源文件中添加该函数或者变量定义,并重新运行即可;8、 分布式编译错误排除:定位是哪个模块出现分布式编译错误,对该模块进行clean操作,重新对该模块单独进行 remake,最后再对整个工程remake;9、 如果只修改了 *.lis文件(即增加了源文件,并且头文件没有被放在新增加的目录下), 只需要 remake; modis 需要重新 gen_modis。4. MT
13、K框架文档学习本阶段主要进行 MMI相关方面知识的学习,主要是MTK框架理论知识的学习,是比较重要的,为以后深入研究各个模块,解决系统性问题打下了基础。学习目标:1.大致了解MTK软件框架和相关的基本概念2. 熟悉MTK的category概念3. MMI 框架的学习, MMI FrameWork , History 机制,screen、app 概念4. 了解nvram的作用MMI framework and architectureMMI Framework介绍了 MTK的MMI方面的软件架构,这部分主要包括:1. 事件的处理2. history的管理3. OSL Wrapper4. NVRA
14、M5. 文件系统管理6. UI layer 与 Layer 4 的交互7. 解触摸屏的响应机制这部分的参考文档有:a. MMI_framework_a nd_architecture.pdfb. MMI Platform Source Code Trai nin g.pdf如上两篇文档非常重要,要对整个MTK软件架构,尤其是 MMI架构要有一个整理的理解,学习注意点:1、 L4层很多术语和 GSM/GPRS通信协议相关,要求新员工有一定的通信知识基础(没有 学过的要补补基础课,比如通信原理、计算机网络、GSM/GPRS无线通信原理等,重点 是对通信模型、OSI七层协议栈、GSM/GPRS相关的术语的理解);2、请参考傅贵写的 MTK-MMI初学者培训文档,里面有详细的编程示例介绍。NVRAM的学习NVRAM为用户提供了数据存取的途径, 用户可以以一种统一固定的方式访问NVRAM中的数据,而不用关心存储数据的物理设备的介质是EEPROM还是FLASH。所以当底层存储数据的介质变化时,用户上层的应用程序接口无需变化。这部分主要的学习文档有:1. NVRAM_Co nfiguration_Guide_User(2).pdf2. FS_NVRAM_Oct2004(1).pdf3. NVRAM_Restore_Factory_Default_SOP