xp系统源码编译指南-【第1部分】MTK手机开发入门教程资料

1.开发环境准备

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

操作系统:Windows 2000、WinXP。 推荐使用 Windows 2000 SP2 或更高版本。

编译器:ADS(Arm 开发套件)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驱动程序。 建议改用这个,否则可能会出现崩溃问题。

2、开发环境搭建流程:

新建一个目录,最好是英文的,否则有些工具无法识别英文路径。 这里我们以E:MTK_P1300为例。 下面我用文字和图片简单介绍一下安装过程。 更详细的安装过程请参见《开发板C语言开发视频.rar》中的压缩文件“手机”Flash文件“P1300_Build_Env.swf”。

1)安装ADS1.2

将huayu109_ads1.2.rar文件解压到某个目录,例如“E:MTK_P1300”。 解压后xp系统源码编译指南,运行“E:MTK_P1300ADS1.2Setup.exe”,点击下一步,最后安装License 选择文件“E:MTK_P1300ADS1.2CRACKlicense.dat”,然后继续下一步直至安装完成。 安装完成后,删除目录“E:MTK_P1300ADS1.2”以节省C盘空间。

2)安装ADS补丁

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

3)安装Perl脚本库

直接运行压缩包huayu106_perlzip.rar中扩展名为msi的安装文件。 默认安装即可。 点击下一步就可以了,哈哈。

上述步骤完成后,编译环境就基本搭建完成了。 这时,你可以打开一个DOS窗口(开始菜单->运行->输入cmd->确定)来看看。 如果安装正常,下面的命令应该可以顺利执行,如下图:

注意版本号。 它应该是 ADS1.2 [Build 842]。 如果没有,则补丁可能尚未应用,或者补丁可能位于错误的位置。 请阅读步骤2的ADS补丁部分中的说明并再次应用,直到版本号正确。

这是perl类库的运行屏幕。

注1:上述安装过程会手动创建编译环境所需的环境变量。 如果发现编译不正常,可能是安装了其他编译​​工具造成冲突。 此时,建议检查系统环境变量,并更改Perl和ADS的安装目录。 移到最前面,将可能引起冲突的编译工具链路径(如winavr)从路径中去掉,如下图

如果你觉得改路径麻烦(因为使用其他编译工具链时还得改回来),还有一个办法,就是改make.bat批处理。 详情请参见注4中的相关说明。

注2:如果安装ADS时更改了默认安装路径,则需要更改源代码中的设置。 源代码目录树解压过程请参见模拟器编译链接的相关介绍。

制作选项.mak

----------------------------------

ifeq ($(条带$(编译器)),ADS)

DIR_ARM = c:progra~1armadsv1_2 # 修改此处

DIR_ARM := $(剥离 $(DIR_ARM))

DIR_TOOL = $(DIR_ARM)bin

DIR_ARMLIB = $(DIR_ARM)lib

DIR_ARMINC = $(DIR_ARM)include

万一

-------------------------------------------------- ------

例如,如果您将其安装到一个驱动器号,只需将绿色部分“c”更改为“d”即可。

1)代码编辑环境

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

2) 电脑模拟器

模拟器MTK PC Simulator用于在PC上进行仿真和调试。 必须安装VC6 SP6(同时必须安装Uuicode静态和动态库。如果没有安装Unicode库,可以使用“huayu103_MTK Simulator DLL Patch.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模拟器之前,需要构建刚刚得到的目录树,打开dos窗口,将盘符和目录转移到代码目录树对应的c盘和目录下,例如:

乙:

cd E:MTK_P1300P1300_V1.7_Release

造新

注3:第一次制作时需要使用“make new”。 Make new需要很长时间(在慢速机器上可能需要2个多小时)。 在编译过程中,会出现一些文件未找到的消息。 只要编译过程没有意外终止,这些消息就可以忽略。 编译日志文件位置:buildNEOTEL25_06Blog。 要检查编译过程中是否有问题,请查看该目录下的文件。 生成的bin文件位置:buildNEOTEL25_06B*.bin。 下载并刻录 bin 文件。

下面简单介绍一下构建命令格式:

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

make resgen 重新生成资源

make remake 重新编译并链接项目

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

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

注4:如果机器上安装了其他gcc编译工具链(如winavr等),可能需要自动更改Path,否则编译会出错。 如何修改路径请参见注释1。 也可以更改批处理文件“E:MTK_P1300P1300_V1.7_Releasemake.bat”,在“perl make2.pl %*”前添加以下两句:

设置 PERL5LIB=D:perllib

设置 PATH=D:perlbin;d:progra~1armadsv1_2bin;E:MTK_P1300P1300_V1.7_Releasetools;c:windowssystem32;c:windows;c:windows 系统

注意,上面的路径是我机器上的,不是默认安装路径。 需要根据自己的实际安装路径进行修改。

让我们开始编译PC模拟器。 使用VC6打开工程文件“E:MTK_P1300P1300_V1.7_Releaseplutommimmi PC_Simulator.dsw”,然后开始编译。 编译时间比较长,具体取决于机器配置。

由于模拟器项目涉及文件较多,编译比较耗时,因此建议您在编译过程中笔记本电脑上少开窗口,尤其是QQ等基于互联网的窗口。 有时你会发现打开QQ后,VC在编译过程中会挂掉,哈哈。 可能是打开QQ后,防火墙过滤了网络数据,占用了较多的系统资源。 如果你发现VC编译非常慢或者干脆挂起,你可以重新启动你的笔记本电脑,只打开必要的窗口xp系统源码编译指南,然后开始编译。

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

传入stringiddef.h(120):错误C2059:语法错误:“常量”或错误C2065:“STR_CM_REDIAL”:未声明的标识符等等。

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

将VC的初始头文件路径调整到前面。 当我第一次开始编译时,SDK头文件位于最上面。 编译总是失败。 只要改变它。 调整库也比较安全,哈哈。

1)Tracer追踪工具

将文件p1300_build_guide.rar解压到E:mtk_p1300,然后在文件管理器中单步进入目录“E:MTK_P1300P1300_Build_guide”,然后将Catcher_L1_V3.01.zip解压到cacher_l1_v3。 10.01子目录.10.01,将Catcher.exe的快捷方式发送到桌面。

当需要使用TRACE时,使用代码中的函数

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

这有点类似于Linux Kernel Debug 工具。 具体使用方法请参见文档《cather User Manual.doc》。 本文档可以在压缩包“huayu101_p1300软件使用工具及开发手册.rar”中找到。

2)烧录工具

将文件“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”中找到。

3)USB并口下载线驱动

运行压缩文件

安装“E:MTK_P1300P1300_Build_Guide PL2303_Driver_XP2K_v204102.zip”中的可执行文件,然后进行下一步,这里不再赘述。

1.你好世界

上一节我们已经搭建好了开发环境,现在是时候付诸实践了。 在进行实质性的项目开发之前,我们先了解一下在P1300上编写程序的一般方法。 让我们从“Hello World”开始。 有一个笑话:“如果你会编程,你就能知道Hello World。 一个编程大师可以写出很多个Hello World。” 虽然是玩笑,但仔细想想也有道理。 麻雀虽小,五脏俱全。 好了,掌握了框架之后,剩下的就是编程方法的问题了。 这与建造建筑物是一样的。 地基的深度和框架的合理性决定了房屋的整体质量。 剩下的就是家居装修,当然还有水电线路的铺设,这涉及到习惯和方法。 ,设计不好会导致漏电短路,哈哈。 话不多说,让我们从 Hello World 开始。

为了下面描述的方便,我们将Hello World称为模块。 首先新建一个模块目录,然后将所有模块相关的文件放到这个目录下统一管理。 新模块通常放置在 plutommiMMI 下。 这里我们新建一个目录“HelloWorld”,然后在模块目录“HelloWorld”下新建一个目录“HelloWorld”再创建三个子目录:“Inc”、“Src”和“Res”,分别存放模块的头文件、source分别是文件和资源文件。 目录结构如下图: