MTK6592的modem-1.ubuntu14.04下的编译烧写及调试
一. MTK6592的modem在ubuntu14.04 64位下的编译
1.要改动的文件
MTK6592的modem推荐的编译环境是ubuntu10.04 64位
要想在ubuntu 14.04 64位下编译需要改的文件是
- cong@msi:/work/mtk/bak/MT92_WE_JB9_MD1_GPRS_MD1_HSPA$ git status
- modified: make.sh
- modified: make/build.mak
- modified: make/cmd_cfg.mak
- modified: tools/NVRAMStatistic/nvram_auto_gen.mak
- modified: tools/NVRAMStatistic/src/nvram_auto_gen.c
- modified: tools/NVRAMStatistic/src/nvram_gen_util.c
a.原先shell中if字符串的判断的写法是 ==,ub14.04上是=,所以会导致编译不通过
b.gcc的路径不对,nvram_auto_gen.mak中ub10.40是/usr/bin/gcc-4.4而现在是/usr/bin/gcc-4.8
c.代码文件中#include不需要了
d.主要更改如下所示:
- diff --git a/make.sh b/make.sh
- index 83c9f70..eafcfd3 100755
- --- a/make.sh
- +++ b/make.sh
- @@ -35,7 +35,7 @@
- #
- export NUMBER_OF_PROCESSORS=`cat /proc/cpuinfo | grep 'processor' | wc -l`
- export USERNAME=$LOGNAME
- -if [ "$MTK_INTERNAL" == "TRUE" ] && [ "$MTK_CF" != "TRUE" ]; then
- +if [ "$MTK_INTERNAL" = "TRUE" ] && [ "$MTK_CF" != "TRUE" ] ; then
- molyq perl make.pl $*
- else
- perl make.pl $*
- diff --git a/make/build.mak b/make/build.mak
- index c888c11..011cb6f 100755
- --- a/make/build.mak
- +++ b/make/build.mak
- @@ -737,7 +737,7 @@ remake : backup bootloader done
- else
- remake : backup genlog cleanbin genverno libs $(BIN_FILE) cmmgen cfggen done
- endif
- -else # MODIS_CONFIG == TRUE
- +else # MODIS_CONFIG = TRUE
- remake : genlog cleanbin genverno
- endif #ifneq ($(strip $(MODIS_CONFIG)),TRUE)
- @@ -3045,7 +3045,6 @@ ifneq ($(strip $(MODIS_CONFIG)),TRUE)
- $(DONE)
- endif
- -
- ifeq ($(strip $(REDUCE_HEADER_DEPTH)),TRUE)
- @$(STRCMPEX) abc abc e $(strip $(TMPDIR))/~compbld_2.tmp INCDIRS = $(strip $(HEADER_TEMP)) $(strip $(COMMINCDIRS))
- else
- @@ -3063,9 +3062,9 @@ endif
- @$(ECHO) -n "ARM9_PLATFORM = $(strip $(ARM9_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
- @$(ECHO) -n "ARM11_PLATFORM = $(strip $(ARM11_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
- @$(ECHO) -n "CR4_PLATFORM = $(strip $(CR4_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
- - @$(IF_NOT) $(P_VAR)0$(COMPILER) == $(P_VAR)0 $(THEN) \
- + @$(IF_NOT) $(P_VAR)0$(COMPILER) = $(P_VAR)0 $(THEN) \
- $(ECHO) -n "COMPILER = $(COMPILER)" >> $(strip $(TMPDIR))/~compbld.tmp $(CMD_END)
- - @$(IF_NOT) $(P_VAR)0$(HEADER_TEMP) == $(P_VAR)0 $(THEN) \
- + @$(IF_NOT) $(P_VAR)0$(HEADER_TEMP) = $(P_VAR)0 $(THEN) \
- $(ECHO) -n "HEADER_TEMP = $(strip $(HEADER_TEMP))" >> $(strip $(TMPDIR))/~compbld.tmp $(CMD_END)
- @$(ECHO) -n "AUTO_MERGE_PTH = $(AUTO_MERGE_PTH)">> $(strip $(TMPDIR))/~compbld.tmp
- diff --git a/make/cmd_cfg.mak b/make/cmd_cfg.mak
- index 470c716..76a709a 100644
- --- a/make/cmd_cfg.mak
- +++ b/make/cmd_cfg.mak
- @@ -80,7 +80,7 @@ IF_EXIST = if [ -e
- IF_NOT = if [ !
- IF_NOT_EXIST = if [ ! -e
- IF_ERR_TRUE = if [ $$? != 0
- -IF_ERR_FALSE = if [ $$? == 0
- +IF_ERR_FALSE = if [ $$? = 0
- THEN = ]; then
- ELSE = ;else
- CMD_END = ;fi
- diff --git a/tools/NVRAMStatistic/nvram_auto_gen.mak b/tools/NVRAMStatistic/nvram_auto_gen.mak
- index 9bd6330..926f8d9 100644
- --- a/tools/NVRAMStatistic/nvram_auto_gen.mak
- +++ b/tools/NVRAMStatistic/nvram_auto_gen.mak
- @@ -29,7 +29,7 @@ ifeq ($(strip $(OS_VERSION)),MSWin32)
- override PATH := tools/MinGW/bin:${PATH}
- export $(PATH)
- else
- - GCC := "/usr/bin/gcc-4.4"
- + GCC := "/usr/bin/gcc-4.8"
- LINKER_SCRIPT := tools/NVRAMStatistic/src/nvram_auto_gen_linux.txt
- MV := mv
- endif
- diff --git a/tools/NVRAMStatistic/src/nvram_auto_gen.c b/tools/NVRAMStatistic/src/nvram_auto_gen.c
- index 5d9bf53..0828dd1 100644
- --- a/tools/NVRAMStatistic/src/nvram_auto_gen.c
- +++ b/tools/NVRAMStatistic/src/nvram_auto_gen.c
- @@ -568,7 +568,7 @@
- #include <stdio.h>
- #include <stdarg.h>
- #include <stdlib.h>
- -#include <io.h>
- +//#include <io.h>
- #include <errno.h>
- #include "nvram_auto_gen.h"
- diff --git a/tools/NVRAMStatistic/src/nvram_gen_util.c b/tools/NVRAMStatistic/src/nvram_gen_util.c
- index ee97c84..9d49275 100644
- --- a/tools/NVRAMStatistic/src/nvram_gen_util.c
- +++ b/tools/NVRAMStatistic/src/nvram_gen_util.c
- @@ -313,7 +313,7 @@
- #include <stdio.h>
- #include <stdarg.h>
- #include <stdlib.h>
- -#include <io.h>
- +//#include <io.h>
- #include "nvram_auto_gen.h"
- #if defined(__MMI_FMI__)
2.调试方法主要是打印
perl中打印出行号与文件名
print "tmd:",__FILE__,"[",__LINE__,"]","\n";
print ("tmd:",__FILE__,"[",__LINE__,"]","\n");
Makefile的脚本中的打印
在规则内部用的是echo
@echo "tmd: Codegen.mak[613]: nvram_auto_gen"
在规则外部打印变量用的是warning
$(warning "tmd:build.mak L2505")
3. 编译流程
a. 简单分析
- ./make.sh MT92_WE_JB9_HSPA.mak new
- --> perl make.pl $*
- a. ckmake执行如下:
- make -fmake/build.mak -r -R PROJECT_NAME=MT92_WE_JB9_HSPA PROJECT_MAKEFILE=build/MT92_WE_JB9_HSPA/DEFAULT/bin/~MT92_WE_JB9_HSPA.mak FLAVOR=DEFAULT ckmake
- b. new
- make.pl[1095]0 = make -fmake/build.mak -r -R PROJECT_NAME=MT92_WE_JB9_HSPA PROJECT_MAKEFILE=build/MT92_WE_JB9_HSPA/DEFAULT/bin/~MT92_WE_JB9_HSPA.mak FLAVOR=DEFAULT new
只有这么一点了
二. 编译与烧写
1. 命令
a. 编译 . readme build
b. 烧写 . readme flash
c. 导入dump的log: . readme pull
d. 清除dump的log: . readme del
- #!/bin/sh
- build()
- {
- ./make.sh MT92_WE_JB9_HSPA.mak new
- }
- flash()
- {
- adb remount
- adb push ./build/MT92_WE_JB9_HSPA/DEFAULT/bin/MT92_WE_JB9_HSPA_PCB01_MT6592_S00.MOLY_WR8_W1315_MD_WG_MP_V21_P11.bin /system/etc/firmware/modem_1_wg_n.img
- adb shell sync
- adb shell sync
- rm -rf /tmp/MDLog*
- adb shell rm -r /sdcard/mtklog/mdlog/*
- adb shell ls -l /sdcard/mtklog/mdlog/
- adb reboot
- }
- pull()
- {
- rm -rf /tmp/MDLog*
- adb pull /sdcard/mtklog/mdlog/ /tmp/
- }
- del()
- {
- adb shell rm -r /sdcard/mtklog/mdlog/*
- adb shell ls -l /sdcard/mtklog/mdlog/
- }
- case "$1" in
- flash)
- flash
- ;;
- build)
- build
- ;;
- del)
- del
- ;;
- pull)
- pull
- ;;
- esac
2. modem的log查看
a. modem的log查看用的工用是Catcher.exe,windows下用的
b. controls --> Open Dump File...
SetPath:
D:\mtk\tst\database\BPLGUInfoCustomAppSrcP_MT6592_S00_MOLY_WR8_W1315_MD_WG_MP_V21_P11
D:\mtk\tst\database
c. 进入工程模式
*#*#3646633#*#*
MTK6592的modem-1.ubuntu14.04下的编译烧写及调试相关推荐
- 最方便的方法8192EU无线网卡在ubuntu14.04下驱动编译错误解决
亏爹的intel 7260网卡,一直断线,只能用usb的网卡.网上买了两个,发现驱动都太旧了,编译不过,改了一下代码,可以用了. ps:有的网卡linux自带驱动,但会断线,也可以编译一下驱动试试. ...
- 8192EU无线网卡在ubuntu14.04下驱动编译错误解决
亏爹的intel 7260网卡,一直断线,只能用usb的网卡.网上买了两个,发现驱动都太旧了,编译不过,改了一下代码,可以用了. ps:有的网卡linux自带驱动,但会断线,也可以编译一下驱动试试. ...
- ubuntu14.04下出现libmysqlclient.so.20找不到问题
ubuntu14.04下出现libmysqlclient.so.20找不到问题 搜了下,发现没人公布解决这个问题的方法,于是分享了下,分享让科技进步更快,大家一起加油 /usr/bin/ld: war ...
- Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...
- 解决Ubuntu14.04 下 E: Encountered a section with no Package: header 问题
参考: ubuntu-E:Encountered a section with no Package: header的解决办法 解决Ubuntu14.04 下 E: Encountered a sec ...
- Linux(Ubuntu14.04)下安装Anaconda和Spyder
Linux(Ubuntu14.04)下安装Anaconda是为了安装python所需要的各种库以及他们的环境配置. Spyder是使用python的IDE 安装python和pip 一般linux系统 ...
- Ubuntu14.04下安装wineqq国际版和卸载QQ
转载自: http://www.bubuko.com/infodetail-343048.html http://jingyan.baidu.com/article/e9fb46e199d60d752 ...
- ubuntu14.04下mysql数据库的默认存放路径并修改
ubuntu14.04下mysql数据库的默认存放路径为:/var/lib/mysql 但有些时候,mysql的数据可能会非常大,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修 ...
- PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建
PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建 最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apa ...
最新文章
- ODBC更新记录集提示”记录集为只读“
- vim-commentary 插件用法
- uva 437——The Tower of Babylon
- 鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18
- /* compiled code */ ?
- 网站漏洞扫描工具 - PHPmvs
- MediaElementAudioSourceNode
- java零碎要点---class()、getClass()、Class.forName()、getClassLoader()的区别和联系--又不详细的地方求补充
- (转载)在IAR及MDK里生成hex及bin文件的标准方法
- vue 项目安装 (入门)
- 成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器
- 小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
- delphi 消息列表中文说明
- Windows10创建系统还原点
- Shell脚本——免交互
- php手机投屏功能,电脑手机投屏怎么操作设置?
- 数字电子技术基础——第三章 集成逻辑门电路
- 解决文件上传重名的方案
- 联想台式修复计算机,联想台式电脑一键恢复5.0与Vista SP1兼容性问题预防及解决方案...
- Cadence仿真遇到 “input.scs” : Can not open input file 更改路径问题
热门文章
- 第五届百越杯线上赛部分WP
- 我用Python制作整蛊软件发送给女友,结果.......我单身了!!
- STM32F407ZGT6控制ESP8266与OV2640下的百度智能图片识别
- 引用“win10错误事件10016导致蓝屏重启的问题”这个文章
- 惠普暗影精灵II代 Pro电脑 Hackintosh 黑苹果efi引导文件
- Windows server 2008 基础知识
- EXCEL批量替换公式数据变成真两位小数
- 蚂蚁链开源跨链技术,与开发者共享多年区块链技术沉淀
- MCDBA 微软官方考试内容
- ​​电源完整性仿真案例