mtk6261 编译指令
- 格式:docx
- 大小:3.98 KB
- 文档页数:5
山寨MTK系统指令代码大全恢复出厂设置密码[复制链接]zhuhuajin技术管理楼主快速分享:发表于 2011-2-3 12:00 PM |只看该作者|倒序浏览|打印#06# IMEI串号*#8375# 软件版本*#87# 手机功能测试M b4 j# \/ Q/ A _9 @. W*#0000#(+拨号键) 设置为默认语言*#0086#(+拨号键) 设置为简体中文' w( \' E. r) q*#0044#(+拨号键) 设置为英文1 J1 k3 @* ]( z! c2 ?: N*#0886#(+拨号键) 设置为繁体中文(没有字库,出错)*#33778# 序号(不知道干什么用的)# |7 }4 a& O0 H* w*#8929# 清除用户数据(慎用) *#035670766*001# 按拨号键Ctrl Buffer=0 缓冲器(区) *#035670766*002# 按拨号键 Task dbg mask=197632 dgb任务掩码*#0966# set Arabic language 出错*#33# 按拨号键显示禁拨所有电话已关闭/ t% b" ^" K- H+ a5 w*#331# 按拨号键显示禁拨国际电话已开启. ]9 c/ w2 p; ]4 Z, p3 [语音通话- l: Q! l3 t: v4 |已开启短信服务已开启所有异步数据服务*#332# 按拨号键显示仅拨本国已关闭*#35# 按拨号键显示拒接已关闭, e# k) g" Y$ F: m*#351# 按拨号键显示漫游时拒接已关闭##62# 按拨号键显示无法接通时转接已关闭# {1 O3 o! L! }2 T8 n ##61# 按拨号键显示无应答转移已关闭##67# 按拨号键显示遇忙转移已关闭/ q$ A$ P" s( {2 Q2 o9 D( V! g, j) y$ R##21# 按拨号键显示无条件转移已关闭##21**11# 按拨号键显示无条件转移已关闭语音通话##002# 按拨号键显示所有转移功能已关闭. l* @1 E0 L5 s6 m% c ##21**20# 按拨号键显示无条件转移已关闭9 O* s8 ^3 _. ]( f3 p$ L9 u7 r所有异步数据服务* O$ ~% e* { e" `- ^9 r8 S*#62# 按拨号键显示无法接通时转移已关闭*#61# 按拨号键显示无应答转移已关闭*#67# 按拨号键显示遇忙转移已关闭*#21# 按拨号键显示无条件转移已关闭*#21**11# 按拨号键显示无条件转移已关闭语音通话*#21**20# 按拨号键显示无条件转移已关闭所有异步数据服务*#43#显示呼叫等待已关闭1122 大部分恢复出厂设置。
MTK 环境配置与编译运行一,MTK环境配置1,在配置环境之前我们需要安装以下工具ADS1.2ADS1.2_update_848.exeMSYS 版本:1.0.10MinGW 版本:3.1.0Gcc-core-3.3.1Gcc-g++-3.3.1ImageMagick 版本:6.3.6 Q167-zip 版本:3.131.1安装注意点:1.1.1安装MinGW后,然后解压Gcc-core-3.3.1,Gcc-g++-3.3.1,并将解压后的两个文件文件夹复制到MinGW安装路径下1.1.2安装ImageMagick,安装到Select Additional Tasks时,所有的选项全取消1.1.3安装ADS,进入ARM运行Setup.exe,然后运行ADS-patch-b848补丁。
1.2复制到项目:1.2.1拷贝..\7_Zip\7z.exe至..\plutommi\Customer\ResGenerator,并改名为7za.exe1.2.2拷贝..\msys\1.0至..\Tools\MSYS1.2.3拷贝..\ImageMagick-6.2.5-Q16文件夹下全部文件至..\plutommi\Customer\ResGenerator目录下1.3检测环境:1.3.1运行Tools\chk_env.exe,如果环境配置好则输出Build environment is ready!1.3.2检测makefile配置ADS编译器路径,打开..\make\option_make查看ifeq ($(strip $(COMPILER)),ADS)DIR_ARM = c:\progra~1\arm\adsv1_2DIR_ARM := $(strip $(DIR_ARM))DIR_TOOL = $(DIR_ARM)\binDIR_ARMLIB = $(DIR_ARM)\libDIR_ARMINC = $(DIR_ARM)\includeendif二,MTK编译与运行MTK的编译过程:在windows命令行下通过Makefile文件执行相应的prel脚本或c程序,将资源包生成c源程序,并与相应模块的c程序.o,.lib或.obj的中间代码,最终生成在手机上使用的.bin文件和在模拟器上使用的mmiresource.dll资源文件。
MTK学习任务1、搭建编译环境首先需要安装如下3种软件:1)VC++6.0软件2)PDF(安装版)3)Excel软件其次,安装“MTK编译环境”目录下3个软件:Ads1.2,4554_ADS12_848_Windows.exe(UZIP),ActivePerl,默认安装即可。
另外:可以安装sourceInsight软件,以方便代码阅读。
2、工程编译Make目录下的F619_GEMINI_GPRS.mak标识了本工程的工程名为F619_GEMINI,obj文件生成目录为build\F619_GEMINI\gprs,生成的bin文件位于build\F619_GEMINI 目录下(F619_GEMINI_PCB01_gprs_MT6225_S00.GM700_V00.bin)。
常用编译指令(各编译参数的具体含义请参考System Architecture.pdf)命令格式:make 工程名obj生成路径命令模块(可选)cmd工具目录:工程目录下的cmd.exemake F619_GEMINI gprs new编译新工程make F619_GEMINI gprs r(remake)只编译有更新/改动的工程make F619_GEMINI gprs new_modis重新编译modismake F619_GEMINI gprs r mmi_app只编译mmi_app工程(mmi_app为需要编译的工程,可以是项目中的其他工程)make F619_GEMINI gprs emiclean 编译。
清理excelmake F619_GEMINI gprs emigen添加资源后必须resgen编译,方可生效。
E:\gm700_4\build\F619_GEMINI\log目录下记录了所有编译的信息,使用make命令编译工程时,可以在此目录下查阅到相关的编译信息。
E:\gm700_4\build\F619_GEMINIMT6225.log记录了整个F619工程的总体编译情况添加工程文件在E:\gm700_4\make\plutommi\mmi_app目录下添加新增的文件路径在E:\gm700_4\make\plutommi\mmi_framework目录下mmi_framework.inc文件中添加新增的头文件路径具体的参考文件中的路径加入格式。
MT6261A驱动最近搞起了手机驱动,刚开始接手的工作都是MTK平台的功能机方案,从6250开始到6260,一边学习一边搞了LCD、Camera、Flash、Keypad、LED等。
虽然是刚上手吧,但是我有深厚的单片机基础,又在学习STM32时候学习果uCOSII,学过ARM+Linux,所以对于搞功能机的驱动也是毫无困难。
最近刚搞的是MT6261的,搞6250和6260时候还有个参考,有以前好使的代码,比猫画虎都能完成任务,但是6261的公司以前都没搞过,代码也是最原始的,所以这也是自己又一个台阶吧!自我感觉以后要改一改以前学习的习惯,不能搞过了就搞过了,没过多久就忘了,时间一长看看自己曾经搞过的东西都怀疑那是谁的作品。
以后要多做总结,不能懒,最好将自己的点点滴滴都记录一下,这样才有利于不断的总结,不断的进步!言归正传,说说最近搞6261的过程吧!搞6261其实挺蛋疼的,遇到不少麻烦。
首先,拿到原始代码和板子之后首要任务就是先能够编译程序、下载、并且开机。
原始代码经过一些定制后先要能够编译通过,这个经过老大一阵忙活就OK了。
但是当我拿到板子,按照板子的原理设计,根据所选Flash型号在代码中更改后怎么也无法下载。
一直提示的内容是软件的Flash_ID 和检测到的不一样,于是我就查找原因,正常情况下改Flash的配置只需要改动MemoryDeviceList和custom_MemoryDevice.h就可以,在custom_MemoryDevice.h中改成自己用到的Flash型号,在MemoryDeviceList中查找自己用的Flash型号,如果没有的话添加。
别的地方没必要改动啊,这个纠结,一顿忙活,后来怀疑是Flash_T ool有问题,但是后来又搞了搞几个版本的都一样的,又在软件上一顿怀疑一顿改,但是都是不行,知道一周多厚查出来是硬件设计的问题,BB芯片上和Flash的接口应该是GPIO4~GPIO9,但是却接到了GPIO3~GPIO8,措了一个脚,简直晕死!查到原因后先做了简单的飞线,虽然丑,但是总算可以下载程序了!为了更多的验证问题,下载OK后我又改动了一些内容,发现了一个问题:我用的Flash型号是W25Q128FWPIM,原来的MemoryDeviceList中有MTK_INTERNAL_W25Q128FWIM,用MTK_INTERNAL_W25Q128FWIM是不可以的,另外,在MemoryDeviceList_MT6250_Since11BW1212.xls中有W25Q128FWPIM这一栏,但是复制这一栏到MemoryDeviceList_MT6261_Since11CW1352.xls后却无法正常开机,现象为按下开机键后有开机画面但是停顿大概2秒后黑屏死机。
详解MTK编译命令及相关文件MTK编译分资源的编译和代码的编译:一资源的编译1 在如下的情况下,需要重新编译资源:(1) 修改了字符串资源文件(Ref_list.txt)、字库文件(FontRes.c,L_**.h)、MMI配置文件(MMI_featuresPLUTO.h)等,这些文件位于..\plutommi\Customer\CustResource\PLUTO_MMI\ ;(2) 修改了MMI资源装载配置文件,这些文件位于..\plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI 目录下,这个目录下都是Res_*.*文件,是各个AP或模块的资源装载文件,包括菜单、图片和字符串资源的装载配置;注意:Cust*.*文件是资源编译生成的,不能手动修改。
2 编译方法(1)在DOS环境下执行资源编译命令resgen即可;(2)进入..\plutommi\Customer目录,执行remakeResource.bat。
若是在模拟器上使用,则还需要在VC环境下build一下,就可以看到效果了。
3 与资源编译相关的文件ResGenerator_HW.bat在编译手机目标板工程时,有“new”,“resgen”等选项时,自动调用;ResGenerator.bat手机PC模拟器工程中,添加新资源后,需要手动调用;remakeResource.bat手机PC模拟器工程中,只替换图片或更新字符串等情况下,需要手动调用;res_gen.txt资源编译的log文件,在build目录下;Makefile..\plutommi\Customer\ResGenerator\Makefile此文件是资源装载预编译程序的Makefile;PopulateRes.c..\plutommi\MMI\Resource\PopulateRes.c执行资源装载,主体是函数PopulateResData(),mtk_resgenerator.exe在执行时会调用该函数;MMIDataType.h..\plutommi\mmi\Inc\MMIDataType.h定义AP的ID范围。
1. 编写目的本文编写的目的主要是从整体上理解MTK的编译过程,以便较快的处理编译中遇到的问题,同时为以后可能的优化编译过程提供参考。
2. 简介MTK的编译过程主要是在windows命令行下通过Makefile文件执行相应的prel脚本或c程序,将资源包生成c源程序,并与相应模块的c程序.o,.lib或.obj的中间代码,最终生成在手机上使用的.bin文件和在模拟器上使用的mmiresource.dll资源文件。
3. 编译环境A. 编译工具和辅助工具l ADS1.2l ADS1.2_update_848.exel MSYS 版本:1.0.10l MinGW 版本:3.1.0l Gcc-core-3.3.1l Gcc-g++-3.3.1l ImageMagick 版本:6.3.6 Q16l 7-zip 版本:3.13l 注意:按照联发科技的要求,最好上述软件采用建议的版本,否则可能会出现异常情况,导致不能正常编译。
B. 编译环境搭建l 按默认路径安装ADS1.2,并安装848补丁包l 按默认路径安装Perll 按默认路径安装7_zipl 安装MinGW先按默认路径安装MinGW安装包,然后解压gcc-core、gcc-g++的压缩包,讲解压后的两个文件夹复制到MinGW安装路径下。
l 安装MSYSl 安装ImageMagick,注意:按默认提示安装到Select Additional Tasks时,所有的选择全取消,后面再按默认安装。
l 复制7z.exe拷贝..\7_Zip\7z.exe 至..\plutommi\Customer\ResGenerator,并改名为7za.exe。
l 复制MinGW拷贝..\MinGW至..\Tools\MinGW。
l 复制MSYS拷贝..\msys\1.0至..\Tools\MSYS。
l 复制ImageMagick拷贝..\ImageMagick-6.2.5-Q16文件夹下全部文件至..\plutommi\Customer\ResGenerator目录下l 设置make.exe改名mingw32-make.exe(..\Tools\MinGW)为make.exe,并放在tools目录下。
MTK程序编译--01一、MTK手机软件系统的构建过程Pc模拟版的构建通过调用如下命令实现。
system("$msdev MoDIS.dsw /MAKE \"$argu - Win32 $modisDir\"/OUT ${MoDISLogDir}\\${argu}.log")在这里$msdev就是VC的msdev,通过VC的工程文件MoDIS.dsw和后面的参数进行具体的构建过程。
熟悉VC工程的朋友应该比较清楚,因此就不再具体解释了。
之后将只以ARM版为主来讲解整个工程的构建过程。
ARM版的构建通过调用如下命令实现。
system("${makeCmd} -f${makeFolder}${myMF} -r -RCUSTOMER=$custom PROJECT=$project $action")在这里${makeCmd}是tools\make.exe,即GNU的make,${makeFolder}${myMF}是make\Gsm2.mak,$action是new、update、remake等。
变量CUSTOMER和PROJECT分别是客户名和项目名,在构建过程中将根据此两个变量的值选定项目相关的配置文件,从而实现客户化的定制。
通过给make指定ARM版的核心Makefile文件Gsm2.mak,开始了ARM版的构建过程。
Gsm2.mak文件中包含了Option.mak这个配置用的Makefile文件,另外还包含了一些以.tmp和.bld为后缀的由perl脚本make2.pl 生成的临时配置文件。
这些临时配置文件主要是一些action如clean、remake等所需的变量设置,及客户化和版本号等的一些信息。
Gsm2.mak控制了new、update、remake等动作的过程上面的构建过程的几个步骤中,最重要的两个步骤是libs、$(BIN_FILE) 。
mtk6261 编译指令
MTK6261编译指令详解
MTK6261是联发科技公司推出的一款低功耗、高性能的芯片,广泛应用于物联网设备、智能穿戴设备等领域。
在开发MTK6261芯片的应用程序时,需要编写相应的指令来控制芯片的各项功能。
本文将详细介绍MTK6261编译指令的使用方法。
一、编译指令的基本语法
MTK6261编译指令使用C语言的语法,通过编写一系列的指令来实现对芯片的控制。
指令通常包括关键字、参数和注释等几个部分。
例如,要设置芯片的工作模式为低功耗模式,可以使用以下指令:
```
void setLowPowerMode(){
// 设置芯片为低功耗模式
// 具体的设置代码
}
```
在上面的例子中,`void setLowPowerMode()`是指令的关键字,`setLowPowerMode`是指令的名称,`{}`内的代码是指令的具体内容,`//`后面的注释是对指令功能的解释。
二、常用编译指令
1. 设置芯片工作模式
设置芯片的工作模式是MTK6261编译指令中最常用的指令之一。
通过设置不同的工作模式,可以实现芯片的不同功能。
例如,要设置芯片为低功耗模式,可以使用以下指令:
```
void setLowPowerMode(){
// 设置芯片为低功耗模式
// 具体的设置代码
}
```
2. 控制GPIO引脚
MTK6261芯片有多个GPIO引脚,可以用来连接外部设备。
通过控制GPIO引脚的电平,可以实现与外部设备的通信。
例如,要将GPIO1引脚设置为高电平,可以使用以下指令:
```
void setGPIO1High(){
// 将GPIO1引脚设置为高电平
// 具体的设置代码
}
```
3. 设置定时器
MTK6261芯片内置了多个定时器,可以用来实现定时任务。
通过设置定时器的参数,可以实现定时触发某些操作。
例如,要设置定时器1的计数时间为1秒,并在计数结束后执行某个操作,可以使用以下指令:
```
void setTimer1(){
// 设置定时器1的计数时间为1秒
// 具体的设置代码
}
```
4. 控制串口通信
MTK6261芯片支持串口通信,可以与其他设备进行数据交换。
通过控制串口的参数和数据传输方式,可以实现与其他设备的通信。
例如,要设置串口1的波特率为9600,并发送一串字符数据,可以使用以下指令:
```
void setUART1(){
// 设置串口1的波特率为9600
// 发送一串字符数据
// 具体的设置代码
}
```
三、编译指令的注意事项
1. 在编写编译指令时,要先了解MTK6261芯片的功能和特性,根据实际需求选择合适的指令。
2. 在编写编译指令时,要注意指令的顺序和逻辑,确保指令的执行顺序正确。
3. 在编写编译指令时,要注重代码的可读性和可维护性,采用合适的命名方式和注释。
可以使用恰当的段落和标题,使代码结构清晰,易于阅读。
4. 在编写编译指令时,要避免重复的代码和冗余的指令,保持指令的简洁和高效。
5. 在编写编译指令时,要对指令的参数进行合理的检查和处理,避免出现错误或异常情况。
总结:
MTK6261编译指令是控制MTK6261芯片的关键,通过编写指令来实现对芯片的各项功能。
本文对MTK6261编译指令的基本语法、常用指令和注意事项进行了详细介绍。
希望通过本文的学习,读者能够更好地理解MTK6261编译指令的使用方法,并能够灵活运用于实际开发中。