欢迎访问:MTK的开发环境怎么搭建_数码家电_行业指南_自居生活网
  • 微信客服微信客服
  • 微信公众号微信公众号

MTK的开发环境怎么搭建

收藏  分享
网络整理佚名567

MTK的开发环境怎么搭建

一、开发环境设立

以下表述中提到的相关压缩包或安装文件到华禹ftp服务器下载,部分文件要到群共享里面下,那里是最新的。

华禹ftp服务器:IP:220.113.15.15,帐号为study-bbs。Com,密码为study-bbs0304

P1300的QQ群号: 15762255

P1300_Build_Guide.rar来自ftp服务器,“华禹MTK相关部分”目录下

手机开发板C语言开发视频.rar来自ftp服务器,“华禹MTK相关部分”目录下

huayu109_ads1.2.rar来自ftp服务器,“华禹旋风001手机模块1.工具类”目录下

huayu102_ADS12_Patch_Windows.rar同上

huayu106_perlzip.rar同上

huayu108_SourceInsight3.5.rar同上

huayu101_p1300软件使用工具及开发指南.rar同上

huayu201_P1300_V1.7_Release.rar文件来自群共享

huayu203_P1300_V1.7_Release_patch.rar文件来自群共享

FlashTool_v3.0844.00.rar文件来自群共享

1、开发主机要求及所需工具:

操作系统:Windows 2000, WinXP. 推荐Windows 2000 with SP2 or later.

编 译 器:ADS (Arm Developer Suite) v1.2 [Build 842]

Perl解析:ActivePerl, 推荐使用ActivePerl 5.6.1版本

仿真工具:MTK PC Simulator

跟踪工具:Catcher_L1 v3.10.01,从串口输出调试信息,只做普通UI应用的话,大致不会用到,用PC仿真工具就好了

烧录工具:FlashTool_UI v3.1.05 或 FlashTool_v3.0844.00

其他:PL2303_Driver_XP2K v204102,这是下载线用到的USB串口驱动,以前机器上装过PL2303驱动的就不必再装了

二、开发环境建立过程:

新建一个目录,英文的好了,否则有些工具不认识中文路径,这里以E:MTK_P1300为例说明,下面我用文字和简单说明下安装过程,更详细的安装过程可以看压缩文件“手机开发板C语言开发视频.rar”中的Flash文件“P1300_Build_Env.swf”。

(1)安装ADS1.2

解压文件huayu109_ads1.2.rar到某个目录,比如说解压到“E:MTK_P1300”,解压完后运行“E:MTK_P1300ADS1.2Setup.exe”,一路按下一步,最后安装License时选定文件“E:MTK_P1300ADS1.2CRACK license.dat”,然后接着一路下一步直到安装完。安装完后删掉目录“E:MTK_P1300ADS1.2”,节省磁盘空间。

(2)安装ADS补丁

运行huayu102_ADS12_Patch_Windows.rar压缩文件中的ADS_Patch_Window.exe,这是个自解压的压缩文件,选Unzip解压到上一步ADS的安装目录(缺省是C:Program FilesARMADSv1_2),解压过程中如果问到是否覆盖,全部选覆盖好了。

(3)安装脚本解释器Perl

直接运行压缩包huayu106_perlzip.rar里面扩展名为msi的安装文件,缺省安装就好,一路Next,呵呵。

上述几步完成后,编译环境基本建立,此时可以开一个dos窗(开始菜单->运行->输入cmd->确定)看一下,安装正常应该能顺利执行以下命令,如下图:

注意看版本号,应该是ADS1.2 [Build 842],不是的话可能没打补丁,或补丁打的位置不对,请看第2步ADS补丁部分的说明并重新打一次,直到版本号对为止,哈哈。

这是perl解释器的运行画面。

注1:上述安装过程会自动创建编译环境所需的环境变量,如果发现编译不正常了,可能是安装了其他编译工具导致冲突,这时建议查看下系统环境变量,把Perl和ADS的安装目录调到最前面,同时从path中去掉可能会产生冲突的编译工具链的路径(例如winavr),如下图所示(我是安装到D盘滴,缺省是C盘,不过我C盘几乎被我塞满了):

如果嫌改path麻烦(因为要用到其他编译工具链的时候还得改回去),还有一种办法,就是改make.bat批处理,具体见注4中相关说明。

注2:?如果安装ADS时,改变了默认安装路径,需要修改源码中的设置,源码目录树解压过程见模拟器编译环节相关介绍。

1.?????????? ??makeOption.mak ?

2.?????????? ??---------------------------------- ?

3.?????????? ??ifeq?($(strip?$(COMPILER)),ADS) ?

4.?????????? DIR_ARM=??c:progra~1armadsv1_2??#?修改这里?

5.?????????? DIR_ARM?:=?$(strip?$(DIR_ARM)) ?

6.?????????? DIR_TOOL???=??$(DIR_ARM)bin ?

7.?????????? DIR_ARMLIB?=??$(DIR_ARM)lib ?

8.?????????? DIR_ARMINC?=??$(DIR_ARM)include ?

9.?????????? ??endif ?

10.?????? ------------------------------------------------?

比如改装到D盘了,这里把红色部分“c”改成“d”就好了

(4)代码编辑环境

运行压缩文件huayu108_Source Insight3.5.rar中的安装文件安装即可。至于编辑器,这个看个人喜好了,不过Source Inside看代码蛮方便的。

(5)PC机模拟器

模拟器MTK PC Simulator是用来在PC上仿真调试用的,要安装VC6 SP6(同时要安装Uuicode 静态和动态库,没有装Unicode库的可以用“huayu103_MTK模拟器DLL补丁.zip”中的库,拷到系统目录“%windir%system32”下即可)。我机器上的VC是有装Unicode库的,没装过Unicode库的如果在模拟器编译或运行中出现问题,建议重装下VC6,安装时勾选Unicode库,并打上相关补丁到SP6。

模拟器能模拟真机的大部分行为,这样能给调试带来很大便利,不需要每次改动都要烧录。

模拟器要从源码编译,解压压缩包“huayu201_P1300_V1.7_Release.rar”里面的文件“HUAYU_P1300_V1.7_Release.rar”到目录“E:MTK_P1300”,此时会出现目录“E:MTK_P1300P1300_V1.7_Release”,这就是P1300的代码目录树了;接着打上最新的补丁,解压压缩包“huayu203_P1300_V1.7_Release_patch.rar”里面的压缩文件“HUAYU_P1300_V1.7_Release_patch.rar”到目录

“E:MTK_P1300P1300_V1.7_Release”,解压时选择全覆盖以替换被修改过的文件,打补丁之前对目录树里面的文件进行修改过的,需要手动再加上去。

编译PC仿真器之前需要先把刚才上面得到的目录树build一次,开一个dos窗,盘符和目录转到代码目录树对应的盘符和目录,例如:

1.?????????? ???E: ?

2.?????????? ??cd?E:MTK_P1300P1300_V1.7_Release ?

3.?????????? make?new?

注3:第一次make的时候要用“make new”,make new的时间比较长(慢的机器搞不好要2小时以上),编译过程中间会出现一些文件找不到的信息,只要编译过程没意外终止,那些信息可以忽略。编译日志文件位置: buildNEOTEL25_06Blog,要查看编译过程有啥问题就看这个目录下的文件了;生成的bin文件位置: buildNEOTEL25_06B*.bin,下载烧录就是烧bin文件。

这里顺带介绍下build的命令格式:

make new 清除后重新编译整个项目

make resgen 重新生成资源

make remake重新编译链接项目

make viewlog xxx 查看模块xxx的编译日志

make查看可以用make选项帮助信息

注4:如果机器上装了其他gcc编译工具链(比如winavr之类)的话可能要手动改下Path,否则编译会出错,修改Path的方法见注1,也可以修改批处理文件“E:MTK_P1300P1300_V1.7_Releasemake.bat”,在“perl make2.pl %*”之前加上下面两句:

1.?????????? set?PERL5LIB=D:perllib ?

2.?????????? set?PATH=D:perlbin;d:progra~1armadsv1_2bin;E:MTK_P1300P1300_V1.7_Releasetools;c:windowssystem32;c:windows;c:windowssystem?

注意,上面的路径是我机器上的,不是缺省安装路径,要根据自己的实际安装路径做修改。

下面开始编译PC仿真器了,用VC6打开工程文件“E:MTK_P1300P1300_V1.7_Releaseplutommimmi PC_Simulator.dsw”,然后开始编译,编译时间比较长,具体看机器配置了,这时又可以干点别的啥了,呵呵。

因为仿真器工程涉及文件较多,编译费时,建议编译过程中电脑上少开窗口,特别是网络类的,如QQ,有时会发现开QQ后,编译过程中VC会挂死,呵呵。有可能是开QQ后防火墙过滤网络数据占用较多系统资源,如果发现VC编译特别慢或干脆挂死,可以重启动一下电脑,只开必要的窗口,然后开始编译。

如果编译过程中发现怪异的问题,如:

1.?????????? incomingstringiddef.h(120)?:?error?C2059:?syntax?error?:?'constant'?? ?

2.?????????? 或者?

3.?????????? error?C2065:?'STR_CM_REDIAL'?:?undeclared?identifier? ?

4.?????????? 之类?

5.?????????? ?

这个时侯你可能需要看一下你VC相关路径的设置顺序,如下图:

把VC原本的头文件路径调整到最前面,我刚开始编译的时候SDK的头文件在前面,编译总是通不过,改一下就好了,库也一样都调整下比较保险,呵呵。

(6)Tracer跟踪工具

解压文件P1300_Build_Guide.rar到E:MTK_P1300,然后在文件管理器进入目录“E:MTK_P1300P1300_Build_Guide”,接着解压Catcher_L1_v3.10.01.zip到当前目录下的Catcher_L1_v3.10.01子目录,进入子目录Catcher_L1_v3.10.01,发送一个Catcher.exe的快捷方式到桌面。

在需要用到TRACE的时候,在代码中使用函数

void kal_prompt_trace(module_type mod_id, const kal_char *fmt,...); 打印需要查看的信息,使用Catcher跟踪查看。

这个有点类似Linux的Kernel Debug工具,具体使用方法见文档《cather使用手册.doc》,这个文档可在压缩包“huayu101_p1300软件使用工具及开发指南.rar”里面找到。

(7)烧录工具

解压文件“E:MTK_P1300P1300_Build_Guide FlashTool_UI_exe_v3.1.05.zip”到当前目录,然后进入目录“E:MTK_P1300P1300_Build_GuideFlashTool_v3.1.05”,发送一个Flash_tool.exe的快捷方式到桌面好了。

还有个下载工具FlashTool_v3.0844.00.rar,也是不用安装,解压后直接用的,据说烧录速度比上面那个快。

具体使用方法见文档《flash_tool_MT平台使用教程.doc》,这个文档可在压缩包“huayu101_p1300软件使用工具及开发指南.rar”里面找到。

(8)USB串口下载线驱动

运行压缩文件

1.?????????? “E:MTK_P1300P1300_Build_Guide?PL2303_Driver_XP2K_v204102.zip”?

里面的可执行文件进行安装,一路下一步,这里不再赘述。

nucleus实时操作系统MTK手机软件系统工程和配置简介

MTK使用了nucleus实时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如oscar、ThreadX、nucleus。整个软件系统包括nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。在这里MMI部分几乎包括了操作系统内核、协议栈、文件系统之上的所有部分,其中WGUI也在其中。

MTK的PC模拟版使用VC的编译器和链接器生成,ARM版使用ADS1.2的编译器和链接器生成。因为MTK的整个软件系统是一个很庞大而且复杂的工程,并且要支持多个MTK的产品系列和多家客户的客户化支持,使用集成开发环境(IDE)已经无法胜任,而且很难做到整个工程的自动构建和资源、代码的生成。所以MTK的软件系统使用了windows下的GNU开发工具链(MinGW)来进行工程的管理、配置和构建,MTK将MinGW放到了第三方工具中。

另外还使用了perl脚本来解析用户输入的命令行参数,因此第三方工具中还包含了ActivePerl(windows下的perl解释器)。不过,整个软件系统并没有使用MinGW的全部工具,好象只使用了make这个工具,由几个Makefile控制了构建的过程,在编译和链接时根据最终生成PC模拟版还是ARM版而分别调用VC的编译器和链接器或ADS1.2的编译器和链接器。

 
更多>最新的资讯
推荐图文
推荐行业指南
点击排行