adb shell 调试君正板子

今天接到一个任务,把现有的代码移植到君正的开发板上。

下面就开始吧。

1 首先,代码移植到君正上,需要交叉编译环境。
    需求方已经提供了交叉编译的tar包,直接在linux上解压缩。
    然后 指定
    CC=xxx.xxx.gcc
    CP=xxx.xxx.g++
    AR=xxx.xxx.ar
    (指到君正环境对应的 gcc,g++,ar)

然后开始执行编译脚本(代码很多,没脚本怎么行),生成对应于君正的相关库和可执行程序。

2 把开发板和电脑主机相连,安装驱动。
 我的这块开发板上有个电源开关,刚开始没打开,各种安装驱动失败。。。
 然后在设备管理器中找到新出现的设备,安装驱动,不必细说。

3 下面就是把第一步编好的代码放到君正板子上运行。

怎么copy上去呢?
刚插上的时候,我看到360手机助手的提示,说有新设备接入。本来还想着通过手机助手copy过去。后来知道不行,360助手各种安装不上驱动,算了,别想偷懒了,还是 用我们最常规的adb吧。

首先进入命令行(cmd)   
执行   adb devices,看设备是否已经链接好了。
提示 devices offline,,我这里重新插拔了一下,好了。

adb shell,进入君正的环境。
执行 ls,有很多乱码。看着烦人
alias ls='ls --color=never'
这样执行ls就不会有乱码了。

想创建一个目录试一下,
mkdir test
提示我:Read-only file System
mount ,发现当前我所使用的目录权限是 ro (Read-only)
发现有个tmp目录,这个目录的权限是 rw,可以创建文件了

然后copy代码到君正
adb push  xxx/yourApp  tmp/test,把要执行的程序copy到板子上。

使用adb push 发现,提示,没有adb这个命令。
原来我已经进入 adb shell的环境,要退出adb shell,在cmd下输入 adb push xxx.tar /tmp/test

4 copy完成后,开始执行程序。
./youApp
提示找不到一个依赖的库,
看来需要指定一下依赖库的路径
export LD_LIBRARY_PAHT=../../lib (你自己示例工程依赖的库)
之后再运行又提示 
error while loading shared libraries :libstdc++.so.6
刚看到这个报错,还以为是君正的环境上缺少这个库。
执行 find . -name libstdc++* ,发现是有这个文件的,

忽然想到,可能是LD_LIBRARY_PATH 这个定义的不对。
改成 export LD_LIBRARY_PAHT=../../lib:$LD_LIBRARY_PAHT
再执行,程序运行起来了。
(以后这里要注意了,添加LD搜索路径的时候,不能把以前的覆盖掉)

执行完,我想看一下我的日志文件。
执行 adb pull 命令,
结果每次我一执行这个命令, 都会提示我 
device not found
然后我就发现,板子已经断开连接了。
然后没找到什么好的解决办法,只能断电重连。

再进入我刚才执行程序的路径,发现已经空空如也,悲剧了!!
可能是因为这个板子没有掉电也能保存的内存卡。
只能再执行一遍,后来再执行adb pull的时候,又犯老毛病了。
我了个擦。
咨询了一下相关的同事,说也经常遇见这样的情况。算了,不纠结了。

做到这里,已经可以验证,现有的代码可以移植到君正上,对方提供的交叉编译环境也是可用的。
时间紧迫,不纠结adb pull的问题了。
到此结束吧。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值