一. MTK6592的modem在ubuntu14.04 64位下的编译
1.要改动的文件
MTK6592的modem推荐的编译环境是ubuntu10.04 64位
要想在ubuntu 14.04 64位下编译需要改的文件是

  1. cong@msi:/work/mtk/bak/MT92_WE_JB9_MD1_GPRS_MD1_HSPA$ git status
  2. modified: make.sh
  3. modified: make/build.mak
  4. modified: make/cmd_cfg.mak
  5. modified: tools/NVRAMStatistic/nvram_auto_gen.mak
  6. modified: tools/NVRAMStatistic/src/nvram_auto_gen.c
  7. 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.主要更改如下所示:

  1. diff --git a/make.sh b/make.sh
  2. index 83c9f70..eafcfd3 100755
  3. --- a/make.sh
  4. +++ b/make.sh
  5. @@ -35,7 +35,7 @@
  6. #
  7. export NUMBER_OF_PROCESSORS=`cat /proc/cpuinfo | grep 'processor' | wc -l`
  8. export USERNAME=$LOGNAME
  9. -if [ "$MTK_INTERNAL" == "TRUE" ] && [ "$MTK_CF" != "TRUE" ]; then
  10. +if [ "$MTK_INTERNAL" = "TRUE" ] && [ "$MTK_CF" != "TRUE" ] ; then
  11. molyq perl make.pl $*
  12. else
  13. perl make.pl $*
  14. diff --git a/make/build.mak b/make/build.mak
  15. index c888c11..011cb6f 100755
  16. --- a/make/build.mak
  17. +++ b/make/build.mak
  18. @@ -737,7 +737,7 @@ remake : backup bootloader done
  19. else
  20. remake : backup genlog cleanbin genverno libs $(BIN_FILE) cmmgen cfggen done
  21. endif
  22. -else # MODIS_CONFIG == TRUE
  23. +else # MODIS_CONFIG = TRUE
  24. remake : genlog cleanbin genverno
  25. endif #ifneq ($(strip $(MODIS_CONFIG)),TRUE)
  26. @@ -3045,7 +3045,6 @@ ifneq ($(strip $(MODIS_CONFIG)),TRUE)
  27. $(DONE)
  28. endif
  29. -
  30. ifeq ($(strip $(REDUCE_HEADER_DEPTH)),TRUE)
  31. @$(STRCMPEX) abc abc e $(strip $(TMPDIR))/~compbld_2.tmp INCDIRS = $(strip $(HEADER_TEMP)) $(strip $(COMMINCDIRS))
  32. else
  33. @@ -3063,9 +3062,9 @@ endif
  34. @$(ECHO) -n "ARM9_PLATFORM = $(strip $(ARM9_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
  35. @$(ECHO) -n "ARM11_PLATFORM = $(strip $(ARM11_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
  36. @$(ECHO) -n "CR4_PLATFORM = $(strip $(CR4_PLATFORM))" >> $(strip $(TMPDIR))/~compbld.tmp
  37. -    @$(IF_NOT) $(P_VAR)0$(COMPILER) == $(P_VAR)0 $(THEN) \
  38. +    @$(IF_NOT) $(P_VAR)0$(COMPILER) = $(P_VAR)0 $(THEN) \
  39. $(ECHO) -n "COMPILER = $(COMPILER)" >> $(strip $(TMPDIR))/~compbld.tmp $(CMD_END)
  40. -    @$(IF_NOT) $(P_VAR)0$(HEADER_TEMP) == $(P_VAR)0 $(THEN) \
  41. +    @$(IF_NOT) $(P_VAR)0$(HEADER_TEMP) = $(P_VAR)0 $(THEN) \
  42. $(ECHO) -n "HEADER_TEMP = $(strip $(HEADER_TEMP))" >> $(strip $(TMPDIR))/~compbld.tmp $(CMD_END)
  43. @$(ECHO) -n "AUTO_MERGE_PTH = $(AUTO_MERGE_PTH)">> $(strip $(TMPDIR))/~compbld.tmp
  44. diff --git a/make/cmd_cfg.mak b/make/cmd_cfg.mak
  45. index 470c716..76a709a 100644
  46. --- a/make/cmd_cfg.mak
  47. +++ b/make/cmd_cfg.mak
  48. @@ -80,7 +80,7 @@ IF_EXIST = if [ -e
  49. IF_NOT = if [ !
  50. IF_NOT_EXIST = if [ ! -e
  51. IF_ERR_TRUE = if [ $$? != 0
  52. -IF_ERR_FALSE = if [ $$? == 0
  53. +IF_ERR_FALSE = if [ $$? = 0
  54. THEN = ]; then
  55. ELSE = ;else
  56. CMD_END = ;fi
  57. diff --git a/tools/NVRAMStatistic/nvram_auto_gen.mak b/tools/NVRAMStatistic/nvram_auto_gen.mak
  58. index 9bd6330..926f8d9 100644
  59. --- a/tools/NVRAMStatistic/nvram_auto_gen.mak
  60. +++ b/tools/NVRAMStatistic/nvram_auto_gen.mak
  61. @@ -29,7 +29,7 @@ ifeq ($(strip $(OS_VERSION)),MSWin32)
  62. override PATH := tools/MinGW/bin:${PATH}
  63. export $(PATH)
  64. else
  65. - GCC := "/usr/bin/gcc-4.4"
  66. + GCC := "/usr/bin/gcc-4.8"
  67. LINKER_SCRIPT := tools/NVRAMStatistic/src/nvram_auto_gen_linux.txt
  68. MV := mv
  69. endif
  70. diff --git a/tools/NVRAMStatistic/src/nvram_auto_gen.c b/tools/NVRAMStatistic/src/nvram_auto_gen.c
  71. index 5d9bf53..0828dd1 100644
  72. --- a/tools/NVRAMStatistic/src/nvram_auto_gen.c
  73. +++ b/tools/NVRAMStatistic/src/nvram_auto_gen.c
  74. @@ -568,7 +568,7 @@
  75. #include <stdio.h>
  76. #include <stdarg.h>
  77. #include <stdlib.h>
  78. -#include <io.h>
  79. +//#include <io.h>
  80. #include <errno.h>
  81. #include "nvram_auto_gen.h"
  82. diff --git a/tools/NVRAMStatistic/src/nvram_gen_util.c b/tools/NVRAMStatistic/src/nvram_gen_util.c
  83. index ee97c84..9d49275 100644
  84. --- a/tools/NVRAMStatistic/src/nvram_gen_util.c
  85. +++ b/tools/NVRAMStatistic/src/nvram_gen_util.c
  86. @@ -313,7 +313,7 @@
  87. #include <stdio.h>
  88. #include <stdarg.h>
  89. #include <stdlib.h>
  90. -#include <io.h>
  91. +//#include <io.h>
  92. #include "nvram_auto_gen.h"
  93. #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. 简单分析

  1. ./make.sh MT92_WE_JB9_HSPA.mak new
  2. --> perl make.pl $*
  3. a. ckmake执行如下:
  4. 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
  5. b. new
  6. 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

  1. #!/bin/sh
  2. build()
  3. {
  4. ./make.sh MT92_WE_JB9_HSPA.mak new
  5. }
  6. flash()
  7. {
  8. adb remount
  9. 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
  10. adb shell sync
  11. adb shell sync
  12. rm -rf /tmp/MDLog*
  13. adb shell rm -r /sdcard/mtklog/mdlog/*
  14. adb shell ls -l /sdcard/mtklog/mdlog/
  15. adb reboot
  16. }
  17. pull()
  18. {
  19. rm -rf /tmp/MDLog*
  20. adb pull /sdcard/mtklog/mdlog/ /tmp/
  21. }
  22. del()
  23. {
  24. adb shell rm -r /sdcard/mtklog/mdlog/*
  25. adb shell ls -l /sdcard/mtklog/mdlog/
  26. }
  27. case "$1" in
  28. flash)
  29. flash
  30. ;;
  31. build)
  32. build
  33. ;;
  34. del)
  35. del
  36. ;;
  37. pull)
  38. pull
  39. ;;
  40. 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下的编译烧写及调试相关推荐

  1. 最方便的方法8192EU无线网卡在ubuntu14.04下驱动编译错误解决

    亏爹的intel 7260网卡,一直断线,只能用usb的网卡.网上买了两个,发现驱动都太旧了,编译不过,改了一下代码,可以用了. ps:有的网卡linux自带驱动,但会断线,也可以编译一下驱动试试. ...

  2. 8192EU无线网卡在ubuntu14.04下驱动编译错误解决

    亏爹的intel 7260网卡,一直断线,只能用usb的网卡.网上买了两个,发现驱动都太旧了,编译不过,改了一下代码,可以用了. ps:有的网卡linux自带驱动,但会断线,也可以编译一下驱动试试. ...

  3. ubuntu14.04下出现libmysqlclient.so.20找不到问题

    ubuntu14.04下出现libmysqlclient.so.20找不到问题 搜了下,发现没人公布解决这个问题的方法,于是分享了下,分享让科技进步更快,大家一起加油 /usr/bin/ld: war ...

  4. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  5. 解决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 ...

  6. Linux(Ubuntu14.04)下安装Anaconda和Spyder

    Linux(Ubuntu14.04)下安装Anaconda是为了安装python所需要的各种库以及他们的环境配置. Spyder是使用python的IDE 安装python和pip 一般linux系统 ...

  7. Ubuntu14.04下安装wineqq国际版和卸载QQ

    转载自: http://www.bubuko.com/infodetail-343048.html http://jingyan.baidu.com/article/e9fb46e199d60d752 ...

  8. ubuntu14.04下mysql数据库的默认存放路径并修改

    ubuntu14.04下mysql数据库的默认存放路径为:/var/lib/mysql 但有些时候,mysql的数据可能会非常大,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修 ...

  9. PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建

    PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建 最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apa ...

最新文章

  1. ODBC更新记录集提示”记录集为只读“
  2. vim-commentary 插件用法
  3. uva 437——The Tower of Babylon
  4. 鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18
  5. /* compiled code */ ?
  6. 网站漏洞扫描工具 - PHPmvs
  7. MediaElementAudioSourceNode
  8. java零碎要点---class()、getClass()、Class.forName()、getClassLoader()的区别和联系--又不详细的地方求补充
  9. (转载)在IAR及MDK里生成hex及bin文件的标准方法
  10. vue 项目安装 (入门)
  11. 成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器
  12. 小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
  13. delphi 消息列表中文说明
  14. Windows10创建系统还原点
  15. Shell脚本——免交互
  16. php手机投屏功能,电脑手机投屏怎么操作设置?
  17. 数字电子技术基础——第三章 集成逻辑门电路
  18. 解决文件上传重名的方案
  19. 联想台式修复计算机,联想台式电脑一键恢复5.0与Vista SP1兼容性问题预防及解决方案...
  20. Cadence仿真遇到 “input.scs” : Can not open input file 更改路径问题

热门文章

  1. 第五届百越杯线上赛部分WP
  2. 我用Python制作整蛊软件发送给女友,结果.......我单身了!!
  3. STM32F407ZGT6控制ESP8266与OV2640下的百度智能图片识别
  4. 引用“win10错误事件10016导致蓝屏重启的问题”这个文章
  5. 惠普暗影精灵II代 Pro电脑 Hackintosh 黑苹果efi引导文件
  6. Windows server 2008 基础知识
  7. EXCEL批量替换公式数据变成真两位小数
  8. 蚂蚁链开源跨链技术,与开发者共享多年区块链技术沉淀
  9. MCDBA 微软官方考试内容
  10. ​​电源完整性仿真案例