﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-疯狂c++</title><link>http://www.cppblog.com/BigHead/</link><description>疯狂编程</description><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 20:20:09 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 20:20:09 GMT</pubDate><ttl>60</ttl><item><title>MTK平台入门资料</title><link>http://www.cppblog.com/BigHead/archive/2008/07/23/56978.html</link><dc:creator>狮子头</dc:creator><author>狮子头</author><pubDate>Wed, 23 Jul 2008 11:19:00 GMT</pubDate><guid>http://www.cppblog.com/BigHead/archive/2008/07/23/56978.html</guid><wfw:comment>http://www.cppblog.com/BigHead/comments/56978.html</wfw:comment><comments>http://www.cppblog.com/BigHead/archive/2008/07/23/56978.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/BigHead/comments/commentRss/56978.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/BigHead/services/trackbacks/56978.html</trackback:ping><description><![CDATA[<div class=t_msgfont id=postmessage_2209>编译工具和辅助工具:<br>ADS1.2<br>ADS12_update_842.exe<br>MSYS-1.0.10.exe<br>MinGW-3.1.0-1.exe<br>ImageMagick-6.2.5-5-Q16-windows-dll.exe<br>7z313.exe<br><br><br><br>开始编译：<br>切换到项目根目录，然后在命令行下面执行命令：<br>make custom=proj gprs new<br>其中，命令可以为 clean,&nbsp; &nbsp;&nbsp;&nbsp;update,&nbsp; &nbsp; remake<br><br><br><br>目标文件：<br>生成的目标文件为.bin文件， 位于 MTK\build\proj 目录下面，build 目录为生成的一个目录。<br><br><br><br>Log文件：<br>Log文件同.bin文件一样，也是位于 build 目录下，如果编译出错，可以在命令行中看到出错的模块， 然后到build 目录下找对应的log文件。<br><br><br><br>仿真环境：<br>工程文件 PixtelMMI.dsw 位于目录&nbsp; &nbsp;&nbsp;&nbsp;MTK\plutommi\mmi 下面，由此可进入仿真环境。<br><br><br><br>烧写程序：<br>工具&nbsp;&nbsp;Flash_tool.exe 可烧写程序。<br>该工具的主要设置是 COM口 和目标文件位置。<br>Download argent 和 scatter file 用自带的就可以了，选中这两项后，会出现ROM的选择项，点击后可选择.bin文件。如下图：<br><br><br><br><br>设置好上面的参数后，连接上手机，将手机断电，然后按开机键就可以烧写程序了。<br><br><br><br><br>Trace 工具<br>在手机上往往要做一些trace，这就要用到trace工具---Catcher.exe。<br>手机上打 trace 接口为kal_prompt_trace，如同agere平台的GSMprinf.<br>使用 Catcher.exe， <br>要先要设置 DataBase，这个文件是在编译的时候生成的，是个没有扩展名的二进制文件，该文件位于 \MTK\tst\database_classb，例如， BPLGU..。<br>在 Catcher.exe 中，设置 DataBase 的方式是 config&#224; set database path<br>其次, 要设置模式为logging，这样才能进行下面的设置。<br>该设置位于&nbsp;&nbsp;control&#224; mode&#224; logging <br>第三，要设置好COM口。<br>第四， 打开连接开关，表示 Catcher.exe处于待命状态。<br>第五， 设置filter。这个可以过滤一些自己不需要的log。有时半天不出现log, 这时候重新选择一下filter一般就会解决问题。<br>Filter设置路径为&nbsp;&nbsp;control&#224; set filter<br><br><br><br><br>Catcher.exe 使用的连接线给烧写程序用的线是同一条。<br>保存log:<br>在log区域选中想要保存的log&nbsp;&nbsp;(可用shift＋ 鼠标)，鼠标右键选save as&#8230;<br>有时为了方便测试，会设置trace默认关闭， 需要的时候可以打开。<br>该设置在工程模式下。<br>设备&#224; set UART&#224;TST Config, 设置合适的UART 口。比如，UART1是可以trace的。<br><br><br><br>编译出错：<br>有时编译会出现莫名其妙的错误，比如一刚刚可以编译通过，现在却不行，.<br><br><br><br><br>以上为项目开发的基本环境和基本过程<br>接下来的内容，则是具体的开发细节<br>―――――――――――――――――――――――――――――<br>添加文件:<br>开发过程中，少不了加减文件, 删除文件实际上是添加文件的相反过程，因此略过。<br>MTK设置了很多lst 和 pth 文件供用户添加文件，这些都在make文件夹下。用户可以自己添加模块，也可利用原有的lst 和 pth 文件添加。以下以添加在 MTK\make\plutommi 为例。<br>添加头文件路径：<br>plutommi.inc<br>添加本模块路径：<br>plutommi.pth<br>添加源文件路径：<br>plutommi.lis<br>添加完毕，这些文件就可参与编译了。<br><br><br><br>添加开关：<br>开关真是个好东西。依靠它，可以将没有价值的功能瞬间屏蔽，又可以将我们需要但又搁置的功能瞬间启用。能者上，不能者下,多么类似于社会法则。<br>添加开关 在make文件夹下面的 .mak文件里面。<br>注意事项：<br>有人喜欢模仿MTK原做法，在 .mak文件里面使用一个开关管住另外一个开关。那么两个开关不要同名，否则开关起不了关闭的作用。<br><br><br><br><br>添加string资源:<br>1. GlobalDefs.h 中增加ID<br>2. population.c 中将ID和 string关联<br>3. plutommi\Customer\CustResource\PLUTO_MMI\ref_list.txt 中增加ID 和各种语言的文本<br>有了以上3个步骤，即可使用该文本资源了。<br><br><br><br>编译后,在 plutommi\Customer\CustResource下面 会生成新的<br>CustStrMap.c 和<br>CustStrRes.c<br>这两个文件中就包含了新增的string资源<br><br><br><br>添加图片：<br>1. GlobalDefs.h 中增加ID<br>2. population.c 中将ID和 string关联<br>3. 增加图片到解压后的包里，增加完毕，应打包。plutommi\Customer\Images\PLUTO176X220<br>&nbsp; &nbsp;里面的文件夹是生成的，可以在cc上看到为private。<br>4. 添加进去后，要打包，如果仅添加在文件夹里面会被清除。<br><br><br><br>如果没有找到图片文件，手机显示的时候是一个红色的*<br>添加图片时，注意路径用4杠<br><br><br><br><br>在NVRam中增加成员：<br>需要增加ID，指出每块大小，以及总的块数 和缺省值。<br>每块大小最好为偶数。<br>修改下面的文件：<br>Nvram_user_defs.h:&nbsp;&nbsp;ID, 大小，个数<br>NVRAMEnum.h<br>Nvram_user_config.c<br>custom_nvram_editor_data_item.h</div>
<img src ="http://www.cppblog.com/BigHead/aggbug/56978.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/BigHead/" target="_blank">狮子头</a> 2008-07-23 19:19 <a href="http://www.cppblog.com/BigHead/archive/2008/07/23/56978.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>