2018-09-09 23:47:38 weixin_43094346 阅读数 362

全志Tina 系统dump固件制作方法
【适用范围】
适用于Tina1.0 ,Tina2.1 平台 ( 两个平台对应修改的内容不同 )
【问题现象】
目前tina 平台缺少将烧录的固件dump出来的功能。(android 平台的lichee目录,通过./build.sh pack_dump 就可以编译出来,该功能常用于客退分析)
【问题原因】
Tina 平台的编译方式不一样,所以需要修改pack 的代码。
【解决办法】
Tina1.0 修改内容如下:
1. 修改对应的 scripts/setenv.sh
— a/scripts/setenv.sh
+++ b/scripts/setenv.sh
@@ -178,13 +178,27 @@ function pack()
local T=(gettop)localP=localO=localD=uart0localU=+localD=uart0+localM=nonelocalH=(gettop)/staging_dir/host/bin/
export PATH=H:PATH
- if [ “1=d];thenD=card0fi++unsetOPTIND+whilegetoptsdmarg+do+casearg in
+ d)
+ D=card0
+ ;;
+ m)
+ M=dump
+ ;;
+ ?)
+ return 1
+ ;;
+ esac
+ done

if [ "$T" ]; then
    if [ "x${CHIP}" = "xsun5i" ]; then

@@ -202,7 +216,7 @@ function pack()
make $U/install >> /dev/null

if [ -x $P ]; then

- PrO -c CHIPdD -b BOARD+P -r OcCHIP -d DbBOARD -m $M
fi
}
function make_img_md5(){

  1. 修改对应的 target/linux/xxx/image/pack_img.sh
    — a/target/linux/sunxi/image/pack_img.sh
    +++ b/target/linux/sunxi/image/pack_img.sh
    @@ -6,7 +6,7 @@ PACK_SIG=none
    PACK_MODE=none
    PACK_DIR=
    -while getopts “c:p:b:d:r:sh” arg
    +while getopts “c:p:b:d:r:m:sh” arg
    do
    case arginc)@@18,6+18,9@@dod)PACKDEBUG=OPTARG
    ;;

    • m)
    • PACK_MODE=$OPTARG
    • ;;
      s)
      PACK_SIG=sig
      ;;
      @@ -81,6 +84,11 @@ function do_prepare()
      sed -i ‘s/\\/\//g’ image.cfg
      sed -i ‘s/^imagename/;imagename/g’ image.cfg

    • if [ “x${PACK_MODE}” = “xdump” ] ; then

    • cp -vf sys_partition_dump.fex sys_partition.fex
    • cp -vf usbtool_test.fex usbtool.fex
    • fi
      +
      if [ “xPACKDEBUG"="xcard0"a"x{PACK_MODE}” != “xdump” \
      -a “x${PACK_FUNC}” != “xprvt” ] ; then
      uart_switch

Tina2.0 对应修改的内容如下:
function pack() {
local T=(gettop)localchip=sun5ilocalplatform=(get_build_var TARGET_BUILD_VARIANT)
local board_platform=(getbuildvarTARGETBOARDPLATFORM)localboard=(get_build_var TARGET_BOARD)
local debug=uart0
+ local mode=normal
local sigmode=none
local securemode=none
local mode=normal
unset OPTIND
- while getopts “dsvh” arg
+ while getopts “dsvmh” arg
do
case $arg in
d)
debug=card0
;;
s)
sigmode=secure
;;
v)
securemode=secure
;;
+ m)
+ mode=dump
+ ;;
h)
usage
return 0
;;
?)
return 1
;;
esac
done

chip=$(get_chip)
if [ "x$chip" = "x" ]; then
    echo "platform($TARGET_PLATFORM) not support"
    return
fi

- T/scripts/packimg.shcchip -p platformbboard -d debugssigmode -v securemodetT
+ T/scripts/packimg.shcchip -p platformbboard \
-d debugssigmode -m modevsecuremode -t $T
}

所以用方法
1. 使用pack -m [-d] (”-m” 选项),打包成固件名类似:sun8iw5p1_tina_evb_card0_dump.img
2. 在D盘中创建目录:test,即D:/test
3. 使用打包成的固件进行正常烧录,在烧录过程中并不会把固件烧写到flash中,而是自动把flash中的固件按分区dump到D:/test

2018-11-08 08:28:12 weixin_43094346 阅读数 276

全志平台Tina系统使用dump固件将设备flash内的数据拉到PC上的方法

 

我们在进行设备调试或者压力测试的时候,有可能出现设备挂掉无法进入到kernel或者系统的情况,这时候我们就需要将设备内 flash中的数据拉出来,抓到PC上进行裸数据分析。这个操作我们一般称之为dump数据。

dump数据的大致方法是:将一个特殊制作的dump固件使用烧写工具PhoenixSuit烧写到设备里,在这个过程中这个dump固件就会和PC进行通信,将flash中的内容pull到PC上。

【工具需求】

(1)window PC, PC有D盘并且在D盘下新建一个名字为test的文件夹;

(2)全志提供的烧写软件PhoenixSuit;

(3)针对平台特殊制作的dump固件。

 

具体操作:

1.dump固件的制作方法

在全志平台的源码将正常固件编译出来之后,使用命令pack -m (卡打印则pack -d -m)编出一个dump固件,编出来的dump固件的存放位置和名字会在最后被打印出来:

2.将设备用USB与PC连接,像正常烧写固件一样把dump固件烧写到设备里(注意选择的时候选择dump固件):

 

3.reboot efex或通过其他方式让设备跳fel烧写,此时工具会把设备flash内的数据拉到D盘的test目录下,并且不会损坏设备内原有的固件:

(此处我制作的特殊dump固件只拉取了flash 中的前100M数据,正常的dump固件是会把flash中的全部数据都拉取出来)

2018-11-03 15:16:26 shiluohuashengmi 阅读数 600

在调试 Android framework 代码的时候,需要查询写log 信息,其实有部分信息已经在 Android dump函数中含有,我们仅仅需要通过dump 便可以抓取信息,不需要自己在设置log,android源码中很多service提供了dump函数

抓取方式

#adb shell
#dumpsys + 服务模块

下图是dump 信息查询 和 它支持的服务模块(dumpsys -l 查询)

在这里插入图片描述

例如查询input 子系统的log
#dumpsys input

在这里插入图片描述

文章参考地址:
https://blog.csdn.net/jamikabin/article/details/54091917

2019-03-18 17:10:53 u013452460 阅读数 762

准备工具

1.android虚拟机,真机不行,真机不会暴露非debug应用的进程。
2.Android SDK

步骤

1. 启动虚拟机 -> 打开虚拟机开发者模式 -> 点击选择调试应用 -> 查看目标应用的包名

图片.png图片.png
在这里插入图片描述

2.打开 Android SDK -> tools -> monitor

在这里插入图片描述

3. 打开目标应用 -> 进入要dump的页面 -> 在monitor中选择目标应用的进程

在这里插入图片描述

4.点击Dump HPROF file 按钮,就会生成hprof文件

在这里插入图片描述

5.使用MAT相关工具打开hprof文件

图片.png

2017-09-12 12:30:00 weixin_30649641 阅读数 1

固件目的:
主要是dump 存储在nvm 上的运行固件内容。


使用方法:

在D盘根目录建立test文件夹,然后使用phoenixsuit 目录烧录,完成后就会在test 文件夹dump出对应的

原来烧录固件的内容。

编译过程:
在lichee目录下,输入 ./build.sh pack_dump

注意,在先编译android 并pack 完成后,再编译lichee 的 dump 固件

 

 


 


   生成的固件,按照普通固件的方式进行usb量产操作

 

转载于:https://www.cnblogs.com/zhangyin-ethan/p/7509534.html

Android Studio export heap dump

博文 来自: guchuanhang

Android dump的使用2

阅读数 4014

android dump 分区

阅读数 1699

没有更多推荐了,返回首页