当前位置:
文档之家› 软件部新员工培训期计划(MMI开发工程师)
软件部新员工培训期计划(MMI开发工程师)
5.
这部分主要是完成一些简单任务:
1.在模拟器上完成某个菜单下增加一个mytest菜单,mytest下有两个子菜单,
子菜单1用来一个list菜单,子菜单2用来弹出一个pop窗口,并且在定时30秒后自动退出。每个菜单需要使用新的字符串和icon。
培训目标:熟悉各类资源(字串、图片、菜单等)的使用、keyhandler的概念、hilight概念、定时器Timer使用;
学习目标:1.大致了解MTK软件框架和相关的基本概念
2.熟悉MTK的category概念
3.MMI框架的学习,MMI FrameWork,History机制,screen、app概念
4.了解nvram的作用
MMI Framework介绍了MTK的MMI方面的软件架构,这部分主要包括:
1.事件的处理
2.history的管理
6、运行modis看不到界面,请检查MoDIS\MoDIS\Skins目录下的图片文件是否没有解压缩,从而造成图片资源无法加载;
7、如果modis运行报有些函数或者变量找不到的链接错误,则在\MoDIS\drv_sim\src\w32_dummy_wndrv.c源文件中添加该函数或者变量定义,并重新运行即可;
NVRAM为用户提供了数据存取的途径,用户可以以一种统一固定的方式访问NVRAM中的数据,而不用关心存储数据的物理设备的介质是EEPROM还是FLASH。所以当底层存储数据的介质变化时,用户上层的应用程序接口无需变化。
这部分主要的学习文档有:
1. NVRAM_Configuration_Guide_User(2).pdf
Coordinator location, computer选择:192.168.24.100
12
incredibuild
分布式编译
\\192.168.24.40\分布式编译客户端极其补丁\3.40\incredibuild_3.40patch
运行key.bat文件即可,注意该软件有30天试用期,在试用期到期之前重新运行key.bat,则恢复试用期到30天(有个task的补丁,可以每周自动更新时间为30天)
1.
本计划主要针对新入职的无工作经验的新员工在MTK平台的开发和日常相关工作的培训计划,培训主要关注点为日常工作的基本工作技能培养,有关系统性的深入培养暂不纳入本计划之内,有待工作中持续加强和通过内部专项培训进行提高。
对于有一定工作经验但无MTK平台经验的新入职员工,指导老师可以根据实际情况,调整培训计划,而不用完全按照本计划表进行。但是所作调整也需要另拟培训计划表,作为培训之依据,且培训之最终效果也应达到本计划中所列所有培训目标项。
软件新员工培训期计划(MMI开发工程师)
修改记录
版本号
拟制人/修改人
拟制/修改日期
更改理由
V1.0
佚名
2010-02-01
V1.1
Kite
2010-02-11
增加了常用软件安装、编译命令注意事项、实践部分注意点(字串资源添加部分);
V1.2
Kite
2010-02-26
依据yy的建议,增加版本修改部分,并对实践部分继续进行完善和补充,并对文档进行了标准化;
1、L4层很多术语和GSM/GPRS通信协议相关,要求新员工有一定的通信知识基础(没有学过的要补补基础课,比如通信原理、计算机网络、GSM/GPRS无线通信原理等,重点是对通信模型、OSI七层协议栈、GSM/GPRS相关的术语的理解);
2、请参考傅贵写的MTK-MMI初学者培训文档,里面有详细的编程示例介绍。
3、分布式编译过程中运行build monitor可以观察到分布式编译所用到的计算机,其实也是判断分布式编译是否有效的一种方法;
4、Ultraedit如果打开文本文件为乱码,请另存一下,然后从新打开;
5、CC上软件版本config spec的查询,请登录http://192.168.24.15/cqweb/login(可以问技术管理部申请账号),选择版本管理系统登录进入,公共查询->版本跟踪->all_project,查找并选择项目名称,再选择“FOR自动编译”即可。
2.在现有8张墙纸基础上添加一张墙纸,以支持9张壁纸,并设置新加墙纸为缺省墙纸,
缺省屏保打开,等待时间为30秒源自培训目标:nv的概念;nv项的修改
3.客户版本制作
培训目标:与客户版本相关的文件熟悉,熟悉编译过程中这些客户资源相关的文件的来龙去脉;CC新文件提交,老文件修改;客户版本发布流程。
make D901 gprs/gsm remake mmiresource,它包含以下动作:compile + link
培训目标:学习modis的编译,能够生成所需要的工作组文件MoDIS.dsw,并在该工作组下进行代码调试。
一般情况下,为了产生modis.dsw文件,需要进行以下几步:
make D901 gprs new
对于有一定工作经验,且具MTK平台经验的新入职员工,指导老师可以依据本计划中所列的培训目标项对其进行评估。如果能达到我们培训目标的培训项可以略过;如果无法达到的,必须也按照本计划相应培训项的措施进行培养。
2.
如下是常用软件的安装地址,相关软件的按照指导文档见:\\192.168.24.40\编译环境\SCM常用软件安装指南_最新版本.doc,重点需要注意的是ADS、CC和CQ的安装。
1)new –用于生成.bin文件,它包含以下动作clean+scan + compile + link
使用方法一般是这样的:make D901 gprs/gsm new
其中D901是cusotmer名称,为了表述方便以D901为例,gprs/gsm是project
2)update –编译一个或多个模块,它包含以下动作:scan + compile + link。
make D901 gprs gen_modis
make D901 gprs codegen_modis
其中命令new只需编译大约几分钟,等资源编译成功后,就可以终止,然后执行gen_modis,codegen_modis,生成工作组文件modis.dsw,就说明命令执行成功了。
以上简单介绍了比较常用的几个编译命令,具体请参考MTK文档《MTK_MakeBuild_Design_Customer.pdf》,该文档详细介绍了make指令、Gsm.mak、Option.mak、Verno_*.bld、make.bat,以及每条指令是怎么解析的,告诉开发人员如何新添加一个模块并编译它。
1、如果新员工对于GNU gcc编译过程有理解的话(没有这方面的经验,则可以补充一下这方面的知识,MTK的编译过程本质上也是对GNU gcc编译的应用,只不过做了一定的封装,并借助了perl语言),将有助于理解MTK的编译过程;
2、不管是编译还是Modis编译,请事先启动分布式编译工具(Incredibuild Agent Tray-icon,启动之后在电脑屏幕右下角有一个箭头显示)以提高编译效率,否则编译时间会很长;
3、VC可以直接关联分布式,这样在VC上就可以出现分布式的按钮;
4、编译过程中请注意不要改动cmd窗口属性中缓冲区大小的设置,如果设置过大,可能因内存不足导致编译时间过长(即使是启动了分布式编译);
5、在VC环境下运行Modis,如果出现头文件找不到的情况,请查看modis目录下各个子目录下相关ini文件中有关该头文件的指定路径,并检查该路径下是否存在该头文件;
使用方法是make D901 gprs/gsm update mmiresource,其中mmiresource
是具体某个模块的名称,update会首先检查文件之间的依赖关系,然后编译发生改变的代码。Update后面如果不跟模块名称,则是编译所有模块。
3)remake –应该是最常用的编译命令,使用方法是:
3.OSL Wrapper
4.NVRAM
5.文件系统管理
6.UI layer与Layer 4的交互
7.解触摸屏的响应机制
这部分的参考文档有:
a. MMI_framework_and_architecture.pdf
b. MMI Platform Source Code Training.pdf
如上两篇文档非常重要,要对整个MTK软件架构,尤其是MMI架构要有一个整理的理解,学习注意点:
参照《SCM常用软件安装指南.doc》
17
cq(clearquest)
故障管理
\\192.168.24.40\cq
参照《SCM常用软件安装指南.doc》
1、ADS安装请注意导入license.dat(在ADS安装目录下),否则ADS编译报错;
2、sourceinsight输入注册码后请注意不要回车,而应该点击OK按钮,否则回车会按照试用(try it)处理;
8
MinGW
编译环境
\\192.168.24.40\编译环境\MinGW
直接copy到ARM安装目录,与ADSv1_2目录并列
9
msys
编译环境
\\192.168.24.40\编译环境\msys
同上
10
incredibuild
分布式编译
\\192.168.24.40\分布式编译客户端极其补丁\3.40
这部分的参考文档有:
1. Presentation-FileSystem-20040702.pdf
2. MMI_DD_File_Manager.pdf
3. DD_FRM_GDI.pdf
4. DD_FRM_GDI_ROTATE.pdf
5. Training_GDI.pdf
在学习了以上理论知识之后,可以选择一个模块为入口点,来进行代码研读,以一斑以窥全局,这样可以快速地熟悉MTK代码结构。