Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2150649
  • 博文数量: 438
  • 博客积分: 3871
  • 博客等级: 中校
  • 技术积分: 6075
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-10 00:11
个人简介

邮箱: wangcong02345@163.com

文章分类

全部博文(438)

文章存档

2017年(15)

2016年(119)

2015年(91)

2014年(62)

2013年(56)

2012年(79)

2011年(16)

分类: Android平台

2013-11-19 18:53:00

一. MTK平台的编译
1.完整编译
  1. cong@msi:/work/mtk/6572$ ./mk listp   //先用listp查看工程名称
  2. banyan_addon_x86
  3. hqunited72_we_72_kk
  4. hqunited72_we_72_lca
  5. cong@msi:/work/mtk/6572$ ./mk -t hqunited72_we_72_kk new   //完整编译的命令
整个项目,己编过一次了,快速编译
./mk r
2.重新生成DB
  1. cong@msi:/work/mtk/6572$ ./mk new codegen
  2. ./mediatek/custom/mt92_wet_jb9/kernel/dct/dct/codegen.dws
  3. ./mediatek/cgen/Cgen.exe
3.重新编译内核并打包
cong@msi:/work/mtk/6572$ ./mk r k && ./mk r bootimage
4. 检测不兼容
  1. 引自: http://blog.csdn.net/duer8797/article/details/9002344 Mtk在检测gcc的时候会存在不兼容的情况,导致无法检测到gcc,出现gcc unkown错误。gcc nv检测的时候 做了以下操作(具体代码位置参见:mediatek/build/tools/checkEnv.py 函数GccCheck。):
  2. 首先在脚本中执行了gcc --v 命令,然后在返回的信息中通过匹配”.*gcc\s*version\s*”格式查找gcc的版本。由于我们当前的版本是4.6.1 不支持gcc --v, 仅支持gcc -v,而中文语言环境下返回的版本信息中”version”用了中文字符”版本”,会导致匹配不成功。因此需要做以下修改: 所以修改方法是 将

  3.     428 def checkGccVersion(self):
  4.     429 gccVersion = commands.getoutput("%s --v" % self.gcc)

  5. 改为

  6.     428 def checkGccVersion(self):
  7.     429 gccVersion = commands.getoutput("%s -v" % self.gcc)
5. 快速编译内核的脚本
  1. cong@msi:/work/mtk$ cat mkernel.sh
  2. #!/bin/sh
  3. TOP=`pwd`
  4. MKBOOTIMG=$TOP/out/host/linux-x86/bin/mkbootimg
  5. MKBOOTFS=$TOP/out/host/linux-x86/bin/mkbootfs
  6. MINIGZIP=$TOP/out/host/linux-x86/bin/minigzip
  7. OUT=$TOP/out/target/product/mt92_wet_jb9/
  8. KDIR=$TOP/kernel
  9. CROSS_COMPILE=$TOP/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi-
  10. K_OUT=$TOP/out/target/product/mt92_wet_jb9/obj/KERNEL
  11. make_zImage()
  12. {
  13.     echo "make zImage"
  14.     rm -rf $OUT/kernel
  15.   ./mk -t mt92_wet_jb9 remake kernel
  16.   cp -r $OUT/kernel_mt92_wet_jb9.bin $OUT/kernel
  17.   echo "##########pack bootimage################"
  18.   $MKBOOTIMG --kernel $OUT/kernel --ramdisk $OUT/ramdisk.img --base 0x40000000 --ramdisk_offset 0x04000000 --kernel_offset 0x00008000 --tags_offset 0x0E000000 --board 1420682283 --output $OUT/boot.img
  19. }

  20. make_ramdisk()
  21. {
  22.     echo "pack ramdisk"
  23.     rm -rf $OUT/ramdisk.img
  24.     $MKBOOTFS $OUT/root | $MINIGZIP > $OUT/ramdisk.img
  25.     mediatek/build/tools/mkimage $OUT/ramdisk.img ROOTFS > $OUT/ramdisk_android.img
  26.     if [ ! -d mediatek/kernel/trace32 ]; then mkdir -p mediatek/kernel/trace32; fi
  27.     mv $OUT/ramdisk.img mediatek/kernel/trace32/mt92_wet_jb9_ramdisk.img
  28.   mv $OUT/ramdisk_android.img $OUT/ramdisk.img
  29.     echo "##########pack bootimage################"
  30.     $MKBOOTIMG --kernel $OUT/kernel --ramdisk $OUT/ramdisk.img --base 0x40000000 --ramdisk_offset 0x04000000 --kernel_offset 0x00008000 --tags_offset 0x0E000000 --board 1420682283 --output $OUT/boot.img
  31. }

  32. echo "arg1=$1"
  33. case "$1" in
  34.     zImage)
  35.         make_zImage
  36.         ;;
  37.     ramdisk)
  38.         make_ramdisk
  39.         ;;
  40.     *)
  41.         make_zImage
  42.         ;;
  43. esac
mkernel.txt (下载后改名为mkernel.sh)

二.
2.1 查看GPIO
/sys/class/misc/mtgpio/pin
  1. 130|root@78P01:/ # cat /sys/class/misc/mtgpio/pin
  2. PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [IES]
  3. 3: 3 0 0 0 0 0 1 MI
  4. 4: 3 0 0 0 0 1 1 MO
  5. 5: 3 0 1 0 0 1 1 CS
  6. 6: 3 0 0 0 0 1 1 CLK
2.2 查看内核版本
cat /proc/version

2.3 设置打开飞行模式时wifi不关闭
  1. root@78P01:/ # settings get global airplane_mode_radios
  2. cell,bluetooth,wifi,nfc,wimax
  3. root@78P01:/ # settings put global airplane_mode_radios "cell,bluetooth,nfc"
  4. root@78P01:/ # settings get global airplane_mode_radios
  5. cell,bluetooth,nfc

三. 烧写
3.1 Flashtools不能打开的问题
  1. 打开flash tools时失败,提示"应用程序无法启动,因为应用程序的并行配置不正确"

    解决方法:
    FlashTolls的运行需要VC++环境的支持,需要安装Microsoft Visual C++ 2008 Redistributable,
    下载地址:

    安装后重启即可
3.2 去掉多余的烧写文件
     a. 如果想单独烧写内核,需要修改*scatter.txt,将Partion中的file_name改为NONE (在FlashTool 5.13上测试成功)




阅读(2805) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~