MTK6592的modem-1.ubuntu14.04下的编译烧写及调试
2015-07-01 18:07
267 查看
一. 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#*#*
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#*#*
相关文章推荐
- JS对字符串的操作
- DNS 服务相关概念 (二)
- 如何用Maven创建web项目(具体步骤)
- 三星Note II (Android 4.1.1)上安装Ubantu 12.04到ext4分区 (2013-05-10 08:54:52)
- atitit.提升研发效率的利器---重型框架与类库的区别与设计原则
- 代码调试本质及事件冒泡
- Complete The Pattern #6 - Odd Ladder
- atitit.提升研发效率的利器---重型框架与类库的区别与设计原则
- Music
- Android listview中使用checkbox
- Codeforces Round #311 (Div. 2)
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- 【Android】【Framework】ActivityThread相关
- fxpyxphremtv
- cocos2d-x3.x+Lua开发工具