iMX6 android fastboot 使用

转自 http://blog.csdn.net/kris_fei/article/details/50432248

本例存储设备使用的是sd card, 正常的download 方法是拔卡然后在PC上替换镜像:

$sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync

有种更便捷的方法就是利用u-boot中的fastboot来download,
不过很多人遇到只能download boot.img, system.img和recovery.img,
而不能download u-boot.bin。

原因是u-boot.bin的存放是需要偏移1K的,而fastboot boot默认是没有的。

解决方法如下:

[cpp]  view plain  copy
  1. diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c  
  2. index aa5a9a7..900ed1a 100644  
  3. --- a/common/cmd_fastboot.c  
  4. +++ b/common/cmd_fastboot.c  
  5. @@ -1194,7 +1194,11 @@ mmc_ops:  
  6.    
  7.                                         sprintf(slot_no, "%d",  
  8.                                                     fastboot_devinfo.dev_id);  
  9. -                                       sprintf(source, "0x%x", (unsigned int)interface.transfer_buffer);  
  10. +                                       //Kris, 2015091, u-boot.bin has 1K offset.  
  11. +                                       if (!strcmp(ptn->name, "bootloader"))  
  12. +                                               sprintf(source, "0x%x", (unsigned int)(interface.transfer_buffer + 1024));  
  13. +                                       else  
  14. +                                               sprintf(source, "0x%x", (unsigned int)interface.transfer_buffer);  
  15.                                         /* partition no */  
  16.                                         sprintf(part_no, "%d",  
  17.                                                     ptn->partition_id);  

使用如下命令即可正常download:

$sudo fastboot flash bootloader u-boot.bin


为什么要偏移呢?

download到sd card命令:

sudo dd if=u-boot.bin of=/dev/sdb bs=1K skip=1 seek=1; sync


为什么要在/dev/sdb偏移1k的地址才开始写呢? 

飞思卡尔文档有说明device的layout:

可以看到前面1k是留给MBR和第二份MBR的。

飞思卡尔允许使用第一个或者第二个MBR以加载不同的分区。


从0x400开始存放的是IVT,而我们u-boot开始正好也是存放的IVT。

[cpp]  view plain  copy
  1. 27800400 t ivt_header  
  2. 27800404 t app_code_jump_v  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值