添加文件////T9简介

  • Post author:
  • Post category:其他


MTK软件编译过程

编译工具和辅助工具:

ADS1.2

ADS12_update_842.exe

MSYS-1.0.10.exe

MinGW-3.1.0-1.exe

ImageMagick-6.2.5-5-Q16-windows-dll.exe

7z313.exe

开始编译:

切换到项目根目录,然后在命令行下面执行命令:

make custom=proj gprs new

其中,命令可以为 clean,     update,    remake

目标文件:

生成的目标文件为.bin文件, 位于 MTK/build/proj 目录下面,build 目录为生成的一个目录。

Log文件:

Log文件同.bin文件一样,也是位于 build 目录下,如果编译出错,可以在命令行中看到出错的模块,然后到build 目录下找对应的log文件。

仿真环境:

工程文件 PixtelMMI.dsw 位于目录     MTK/plutommi/mmi 下面,由此可进入仿真环境。

烧写程序:

工具  Flash_tool.exe 可烧写程序。

该工具的主要设置是 COM口 和目标文件位置。

Download argent 和 scatter file 用自带的就可以了,选中这两项后,会出现ROM的选择项,点击后可选择.bin文件。设置好上面的参数后,连接上手机,将手机断电,然后按开机键就可以烧写程序了。

Trace 工具:

在手机上往往要做一些trace,这就要用到trace工具—Catcher.exe。

手机上打 trace 接口为kal_prompt_trace

使用 Catcher.exe,

要先要设置 DataBase,这个文件是在编译的时候生成的,是个没有扩展名的二进制文件,该文件位于 /MTK/tst/database_classb,

在 Catcher.exe 中,设置 DataBase 的方式是 config set database path

其次, 要设置模式为logging,这样才能进行下面的设置。

该设置位于  control mode logging

第三,要设置好COM口。

第四, 打开连接开关,表示 Catcher.exe处于待命状态。

第五, 设置filter。这个可以过滤一些自己不需要的log。有时半天不出现log, 这时候重新选择一下filter一般就会解决问题。

Filter设置路径为  control set filter

Catcher.exe 使用的连接线给烧写程序用的线是同一条。

保存log:

在log区域选中想要保存的log  (可用shift+ 鼠标),鼠标右键选save as…

有时为了方便测试,会设置trace默认关闭, 需要的时候可以打开。

该设置在工程模式下。

设备 set UARTTST Config, 设置合适的UART 口。比如,UART1是可以trace的。

以上为项目开发的基本环境和基本过程

接下来的内容,则是具体的开发细节

添加文件:

开发过程中,少不了加减文件, 删除文件实际上是添加文件的相反过程,因此略过。

MTK设置了很多lst 和 pth 文件供用户添加文件,这些都在make文件夹下。用户可以自己添加模块,也可利用原有的lst 和 pth 文件添加。以下以添加?MTK/make/plutommi 为例。

添加头文件路径:

plutommi.inc

添加本模块路径:

plutommi.pth

添加源文件路径:

plutommi.lis

添加完毕,这些文件就可参与编译了。

添加开关:

开关真是个好东西。依靠它,可以将没有价值的功能瞬间屏蔽,又可以将我们需要但又搁置的功能瞬间启用。能者上,不能者下,多么类似于社会法则。

添加开关 在make文件夹下面的 .mak文件里面。

注意事项:

有人喜欢模仿MTK原做法,在 .mak文件里面使用一个开关管住另外一个开关。那么两个开关不要同名,否则开关起不了关闭的作用。

添加string资源:

1. GlobalDefs.h 中增加ID

2. population.c 中将ID和 string关联

3. plutommi/Customer/CustResource/PLUTO_MMI/ref_list.txt 中增加ID 和各种语言的文本

有了以上3个步骤,即可使用该文本资源了。

编译后,在 plutommi/Customer/CustResource下面 会生成新的

CustStrMap.c 和

CustStrRes.c

这两个文件中就包含了新增的string资源

添加图片:

1. GlobalDefs.h 中增加ID

2. population.c 中将ID和 string关联

3. 增加图片到解压后的包里,增加完毕,应打包。plutommi/Customer/Images/PLUTO176X220里面的文件夹是生成的。

4. 添加进去后,要打包,如果仅添加在文件夹里面会被清除。

如果没有找到图片文件,手机显示的时候是一个红色的*

添加图片时,注意路径用4杠

在NVRam中增加成员:

需要增加ID,指出每块大小,以及总的块数 和缺省值。

每块大小最好为偶数。

修改下面的文件:

Nvram_user_defs.h:  ID, 大小,个数

NVRAMEnum.h

Nvram_user_config.c

custom_nvram_editor_data_item.h

MTK编译分资源的编译和代码的编译:

资源的编译:

1)在如下的修改情况下,需要重编译资源:

a.  修改了..plutommi/Customer/CustResource/PLUTO_MMI/目录下的文件如字库文件  (FontRes.c、L_**.h文件)、MMI配置文件(MMI_featuresPLUTO.h)、字符串资源文件 (Ref_list.txt)等;

b.  修改了..plutommi/Customer/CustResource/PLUTO_MMI/Res_MMI目录下的文件,这个目 录下的文件都是Res_*.*文件,是各个AP或模块的资源配置文件,包含菜单、图片、  字符串资源的配置;

注意: Cust*.*文件是资源编译生成的,不能手动修改。

2). 编译方法:

进入../plutommi/Customer目录,执行remakeResource.bat批处理文件。 编译成功会生成一些Cust*.*文件在/plutommi/Customer/CustResource目录下,编译代码时再编译这些文件;

编译失败到build目录下查看log文件 res_gen.txt,可看到出错信息。

3). 当我们改变了资源,想在PC模拟上看到修改效果时,也需要先执行如上的资源编译命令,

再在VC环境下build一下资源,就可以看到效果了。

2.      代码的编译:

有如下的编译命令:

make custom=xxx gprs new

make custom=xxx gprs update

make custom=xxx gprs remake

make custom=xxx gprs clean

这些编译命令可以做成批处理文件build.bat,我们输入相应的选项就可。

编译成功后,在build目录下生成所有的.obj,编译信息log文件、下载.bin文件等;        编译失败时,到build目录下查看相应的log文件,可看到出错信息。

几个关键字解释如下:

1). xxx,Project名,对应make目录下的xxx_GPRS.mak文件;

2) 最后一个关键字:

a.    new:

不管资源、代码是否有改变,全部重编;

b.     update:

扫描资源、代码的改变,有改变的重编,无改变的不编;

c.    remake:

不扫描资源,只扫描代码的改变,有改变的重编,资源和无改变的代码不编;

d.    clean:

清除build目录下的所有内容,保留目录结构。

T9简介

一提起T9,几乎所有的手机用户都知道这种输入法以输入字符高效快捷输入著称,可见T9输入法在手机产品中影响之深。

T9输入法全名为智能输入法,字库容量九千多字,支持十多种语言,包括欧洲

及中文繁体、简体、香港常用字。该输入法是由美国特捷通讯(Tegic Communications)软件公司研制的,该公司于1995年成立,总部设在美国西雅图,1999年12月被美国在线(America On Line)收购后成为其全资子公司,此后专门致力于开发用于小型电子设备的产品和技术。T9输入法就是在这样的环境下诞生并成为该公司的核心产品,T9输入法解决了小型掌上设备的文字输入问题,已经成为全球手机文字输入的标准之一。目前三星、诺基亚等公司均支持此种输入法。

T9——聪明高效的输入法

既然说T9是高效快速的、聪明的输入法,肯定自有道理,以往的输入法在用汉语拼音输入一个汉字的时候需要一一选择该按键上的字母然后确定后才能输入一个汉字,而且在输入一个汉字以后需要重新再进行下一个汉字的输入,例如,在输入“数字”这两个字的时候,我们需要依次按四次数字键7选中S,再按两次数字键4选中H,最后按两次数字键8选中U,经过十几次的选择确认以后我们才能把“数”(SHU)这个字给打出来,接着还需要进行N次的选择确认来输入“字”(ZI),看来要用这样的输入法来输入短信,头发都白了,要是碰到喜欢短信长说的朋友,用这样的输入法那才是要命。不过这样的输入法应用于早期的手机中,其特点是简单易学,不过其缺点就是输入效率极低。自从T9输入法问世以后一改以往传统的输入法笨拙的输入方式,让我们在输入汉字的时候更轻松更高效,就拿刚才的“数字”这两个字来说,使用T9输入法只需按数字键7、4、8后进行简单的选择确定后即可输入“数”,不过跟以往输入法不同的是,在你输入“数”以后屏幕会出现一些常见字,而这些字都可以去“数”组成词组,这就是T9智能输入法的优越之处。正因为T9输入法高效便捷的输入方式引起了众多手机厂商的注意,以至于T9成为了使用频率最高知名度最大的手机输入法。

通常手机的按键上有三个或四个英文字母,例如数字键1上有A、B、C三个字母,如果一般的输入法可能按数字键1一次选择的是A,两次是B,三次是C,所以在输入拼音的时候需要一一选择需要的字母来组成拼音,而T9只需要输入该字母所在的按键一次,程序按算法自动组成合法的拼音,这样就大大减少了输入时按键的次数,这就是T9大大提高输入效率的原因。

现在的T9输入法支持汉语、英语、法语、德语、意大利语等17种语言,其它主要语言的版本正在开发。T9的中文输入包括简体中文和繁体中文,输入方式包括笔划、拼音以及注音。在T9中使用频率最高的就是拼音和笔划输入了。拼音输入大家已经熟悉,但是对于笔划输入或许就不那么熟悉了,T9将简体中文字的24种笔划和繁体字的41种笔划按其共同点分为5类,每类笔划用小型设备面板上的一个按键代表。在使用笔划输入汉字的时候,用户只需按照平时手写汉字那样,按顺序输入比划,T9会从内置的语言数据库中选出匹配这些笔划的汉字,用比划输入汉字跟用拼音一样快捷。此外T9的英文的输入也是按照英文单词中字母的排列来进行输入,有些类似于比划输入的方式,对国内手机用户来说T9英文的输入法使用频率不是特别高,毕竟熟练使用英文发送短信息的人不是很多。

附:手机的设计流程

用一个较简单的阐释,一般的手机设计公司是需要最基本有六个部门:ID、MD、HW、SW、PM、Sourcing、QA。

1、ID(Industry Design)工业设计

包括手机的外观、材质、手感、颜色配搭,主要界面的实现与及色彩等方面的设计。

2、MD(Mechanical Design)结构设计

手机的前壳、后壳、手机的摄像镜头位置的选择,固定的方式,电池如何连接,手机的厚薄程度。如果是滑盖手机,如何让手机滑上去,怎样实现自动往上弹,SIM卡怎样插和拔的安排,这些都是手机结构设计的范畴。繁琐的部件需要MD的工作人员对材质以及工艺都非常熟识。

3、HW(Hardware) 硬件设计

硬件主要设计电路以及天线,而HW是要和MD保持经常性的沟通。 比如MD要求做薄,于是电路也要薄才行得通。同时HW也会要求MD放置天线的区域比较大,和电池的距离也要足够远,HW还会要求ID在天线附近不要放置有金属配件等等。可想而知一部内置天线的设计手机,其制造成本是会较一部外置天线设计的手机贵上20-25%,其主要因素就是天线的设计,物料的要求与及电路的设计和制造成本平均都是要求较高一些。

通常结构设计师(MD)与工业设计师(ID)都会有争论,MD说ID都是画家,画一些大家做不出来的东西,而ID会说MD笨,不按他们的设计做,所以手机卖得不好。所以,一款新的手机在动手设计前,各个部门都会对ID部门的设计创意进行评审,一个好的ID一定要是一个可以实现的创意,并且客户的体验感觉要很好才行。另外HW也会与ID吵架,ID喜欢用金属装饰,但是金属会影响了天线的设计以及容易产生静电的问题,因此HW会很恼火,ID/MD会开发新材料,才能应付ID的要求。

4、SW(Software)软件设计

相对来说,SW是更容易为大家所理解,由于计算机的普及,让我们最大程度地接触了各种各样的软件,手机操作界面的模式,大家经常看到的手机九官格操作菜单的实现,这都是SW设计的范畴。

5、PM(Project Management)项目管理

大规模公司的PM都分得非常细致,比如TPM (Technologly Of Project Management),即专门管技术的PM,而普通的PM,只管理项目的进度各协调工作,PM这个部门通常存在于那些自己设计,自己生产,自己销售手机的公司,AM(Account Manager)的职位恐怕大家都不陌生,作为客户经理,对公司内部是代表客户提出要求,对外则代表公司的整体形象,在两者之间起着不可或缺的桥梁作用。

6、Sourcing资源开发部

资源开发部的员工要不停地去挖掘新的资源,如新材质、新的手机组件、测试器材等,当手机开始试产时,他们要保证生产线上所需要的所有生产物料齐备。手机进行小批量试生产,考察的不仅是软/硬件的成熟度,还包括考察生产工艺和生产的测试技术,有些手机在进行到这个阶段时,却通过不了这一关的话,最后是以失败告终。于是这款新设计的手机便不会出现在市场上了,而投入的开发资金和人力却付之流水,是一个极大的损失。

7、QA(Quality Assurance)质量监督

QA部门负担起整个流程质量保证的工作,督促开发过程是否符合预定的流程,保证项目的可生产性,有很多新设计的手机,就因为碰上了不可生产的某种因素而放弃了。 生产一部手机不是在实验室内做实验那么简单,一旦生产就是成千上万部,要保证每一部产品的优质绝非一件简单容易的事。生产一部手机的样品和生产10万部手机完全是两码子事。


本文来自CSDN博客,转载请标明出处:

http://blog.csdn.net/mtk6235/archive/2009/02/28/3941699.aspx



版权声明:本文为oscar_yrh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。