原调试Apploader方式
因为在hi3798mv200平台移植S2升级问题,需要海思的对Apploader部分进行调试,开发文档描述如下,编译单独Apploader(首先要全编)大概半个小时,周期比较长,其中要调试的话还需要单烧Apploader.bin部分,这样的效率调试我想任何一个程序猿都会崩溃吧。
source build/envsetup.sh
export LANG=en_US.UTF-8
umask 0022
lunch Hi3798MV200-userdebug
make -j12 -C device/hisilicon/bigfish/sdk build SDK_CFGFILE=configs/hi3798mv200/hi3798mv2dmo_hi3798mv200_apploader_cfg.mak HISI_LINUX_ENV=ok HI_OUT_DIR=/mnt/sdb/user/PeterPeng/one_key_release_android/hiAndroid3798mv200/out/target/product/Hi3798MV200/obj/APPLOADER_OBJ
现调试方式
Loader部分之前做嵌入式的同事也调试过,只不过不知道Android项目要如何来调试,这边综合了嵌入式同事的调试方式,总结一下:
机顶盒通过信号线触发升级,然后重启进入loader界面,这时候我们可以在串口中ctrl+c中断,使其停留在loader,通过ls 可以看到/home目录下有一个loader的可执行文件,这个就是启动loader界面的入口,也是调试代码编译出来的
- 知道laoder意义,如何调试?
串口:执行下面命令搭建调试环境
//终端设备作为DHCP客户端
udhcpc
//挂载服务器的/nfs目录到本机的/mnt目录 。
mount -t nfs -o nolock 192.168.1.24:/home/NFS/PeterPeng /mnt
服务器:搭建好环境,则在服务器中调试,编译命令该用下面这一条(make的响应目录下要有makefile文件)
make -j12 -C device/hisilicon/bigfish/sdk/source/component/loader/ SDK_CFGFILE=configs/hi3798mv200/hi3798mv2dmo_hi3798mv200_apploader_cfg.mak HISI_LINUX_ENV=ok HI_OUT_DIR=/mnt/sdb/user/PeterPeng/one_key_release_android/hiAndroid3798mv200/out/target/product/Hi3798MV200/obj/APPLOADER_OBJ
服务器:将loader文件拷贝到挂在/mnt目录上
cp out/target/product/Hi3798MV200/obj/APPLOADER_OBJ/obj/source/component/loader/app/release/loader /home/NFS/PeterPeng
串口:进入/mnt目录可以看到拷贝进去loader文件
./loader运行进入loader界面调试