xhzhou1234 发表于 2020-8-3 16:52:58

AIO-3288C烧写buildroot固件提示Download Firmware Fail

[ 本帖最后由 xhzhou1234 于 2020-8-3 17:13 编辑 ]\n\n[ 本帖最后由 xhzhou1234 于 2020-8-3 17:06 编辑 ]\n\n[ 本帖最后由 xhzhou1234 于 2020-8-3 17:01 编辑 ]\n\nAIO-3288C原本烧写的是Android5.1,改烧buildroot。
1、根据http://wiki.t-firefly.com/zh_CN/AIO-3288C/upgrade_firmware-linux.html#的要求,先用v1.24先擦除然后用v1.34烧写,烧写步骤如下:
$ sudo upgrade_tool_v124 ef rockdev/pack/AIO-3288C-BUILDROOT-GPT-20200803-1521.img xh 的密码:Loading loader...Erase flash ok.xh@xh-dell:~/wisdtour/aio-firefly-sdk$ sudo upgrade_tool_v134 uf rockdev/pack/AIO-3288C-BUILDROOT-GPT-20200803-1521.imgLoading firmware...Support Type:RK320A   FW Ver:8.1.276FW Time:2020-08-03 15:22:11Loader ver:2.58 Loader Time:2020-08-03 11:56:09Download Firmware Fail
2、upgrade_tool log如下:
15:49:30    Upgrade Tool v1.3423 15:49:30    Download Boot Start4 15:49:31    Download Boot Success5 15:49:31    Wait For Maskrom Start6 15:49:32    Wait For Maskrom Success7 15:49:32    Test Device Start8 15:49:32    Test Device Success9 15:49:32    Check Chip Start 10 15:49:32    Check Chip Success 11 15:49:32    Get FlashInfo Start 12 15:49:32    <LAYER 1-2> INFO:FlashInfo: 0 0 E9 0 0 4 4 0 28 0 1 13 15:49:32    Get FlashInfo Success 14 15:49:32   Prepare IDB Start 15 15:49:32    <LAYER 1-2> INFO:CS(1)      (7456MB)      (SAMSUNG) 16 15:49:32    INFO:FindBackupSector3-->No Found 17 15:49:32    Prepare IDB Success 18 15:49:32    Download IDB Start 19 15:49:32    Download IDB Success 20 15:49:32    Download Firmware Start 21 15:49:32    <LAYER 1-2> INFO:FlashInfo: 0 0 E9 0 0 4 4 0 28 0 1 22 15:49:32    <LAYER 1-2> INFO:Start download image,total=535141888,band=64,DirectLBA=1,First4Access=1,Gpt=1 23 15:49:32    <LAYER 1-2> INFO:Start to download trust,offset=0x6000,size=4194304 24 15:49:32    <LAYER 1-2> INFO:Start to download uboot,offset=0x4000,size=4194304 25 15:49:32    <LAYER 1-2> INFO:Start to download misc,offset=0x8000,size=49152 26 15:49:32    <LAYER 1-2> INFO:Start to download boot,offset=0xa000,size=17588224 27 15:49:33    <LAYER 1-2> INFO:Start to download recovery,offset=0x1a000,size=15394816 28 15:49:34    <LAYER 1-2> INFO:Start to download rootfs,offset=0x5a000,size=477958144 29 15:49:57    <LAYER 1-2> INFO:Start to download oem,offset=0x3a000,size=10485760 30 15:49:57    <LAYER 1-2> INFO:Start to download userdata:grow,offset=0x157000,size=5242880 31 15:49:57    <LAYER 1-2> ERROR:RKA_Gpt_Download-->compare gpt backup failed 32 15:49:57    <LAYER 1-2> ERROR:DownloadImage-->RKA_Gpt_Check failed 33 15:49:57    Download Firmware Fail 34 15:51:08    Upgrade Tool v1.34
3、tools/linux/Linux_Pack_Firmware/rockdev/rk3288-package-file   
1 # NAME      Relative path2 #3 #HWDEF      HWDEF4 package-file    package-file5 bootloaderImage/MiniLoaderAll.bin6 parameter   Image/parameter.txt7 trust       Image/trust.img8 uboot       Image/uboot.img9 misc      Image/misc.img 10 #resource   Image/resource.img 11 #kernel   Image/kernel.img 12 boot      Image/boot.img 13 recovery    Image/recovery.img 14 rootfs      Image/rootfs.img 15 oem   Image/oem.img 16 userdata:grow   Image/userdata.img 17 # 要写入backup分区的文件就是自身(update.img) 18 # SELF 是关键字,表示升级文件(update.img)自身 19 # 在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录 20 # 在解包升级文件时,不解包SELF文件的内容。 21 backup      RESERVED 22 #update-scriptupdate-script 23 #recover-script recover-script
4、device/rockchip/rk3288/parameter-buildroot.txt
1 FIRMWARE_VER: 8.12 MACHINE_MODEL:RK32883 MACHINE_ID:0074 MANUFACTURER:RK32885 MAGIC: 0x5041524B6 ATAG: 0x002008007 MACHINE: 32888 CHECK_MASK: 0x809 PWR_HLD: 0,0,A,0,1 10 TYPE: GPT 11 CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00010000@0x0000a000(boot),0x0    0010000@0x0001a000(recovery),0x00010000@0x0002a000(backup),0x00020000@0x0003a000(oem),0x00100000@0x0005a000(rootfs),-@0x0015a000(userdata:grow) 12 uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
还尝试用1.34擦除再烧写,还是提示“Download Firmware Fail”请问如何解决?谢谢!

【注】编辑了好几次,一提交,换行符就没了,故此为方便查看,放到附件文件了,谢谢!

xhzhou1234 发表于 2020-8-3 19:44:09

[ 本帖最后由 xhzhou1234 于 2020-8-3 19:50 编辑 ]\n\n你好!
我继续研究了一下这个问题。烧写到板子的分区表中rootfs的大小是0x0005a000:$ sudo upgrade_tool_v134 plPartition Info(gpt):NOLBA      Size       Name010x00004000 0x00002000 uboot020x00006000 0x00002000 trust030x00008000 0x00002000 misc040x0000a000 0x00010000 boot050x0001a000 0x00010000 recovery060x0002a000 0x00010000 backup070x0003a000 0x00020000 oem080x0005a000 0x000fd000 rootfs090x00157000 0x00d38fdf userdata

分区表中是0x00100000:$ cat rockdev/parameter.txtFIRMWARE_VER: 8.1MACHINE_MODEL:RK3288MACHINE_ID:007MANUFACTURER:RK3288MAGIC: 0x5041524BATAG: 0x00200800MACHINE: 3288CHECK_MASK: 0x80PWR_HLD: 0,0,A,0,1TYPE: GPTCMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0rust),0x00002000@0x00008000(misc),0x00010000@0x0000a000(boot),0x00010000(recovery),0x00010000@0x0002a000(backup),0x00020000@0x0003a000(oem),0x0005a000(rootfs),-@0x0015a000(userdata:grow)uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9xh@xh-dell:~/wisdtour/aio-firefly-sdk$xh@xh-dell:~/wisdtour/aio-firefly-sdk$ cat rockdev/parameter.txtFIRMWARE_VER: 8.1MACHINE_MODEL:RK3288MACHINE_ID:007MANUFACTURER:RK3288MAGIC: 0x5041524BATAG: 0x00200800MACHINE: 3288CHECK_MASK: 0x80PWR_HLD: 0,0,A,0,1TYPE: GPTCMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00010000@0x0000a000(boot),0x00010000@0x0001a000(recovery),0x00010000@0x0002a000(backup),0x00020000@0x0003a000(oem),0x00100000@0x0005a000(rootfs),-@0x0015a000(userdata:grow)uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
板子上的烧写程序检查出了这个差异,所以报错。若这是直接问题点,如何解决?顺便说一下,我猜贵公司网站对用户提交的表单的处理出了问题,换行符全被忽略。

时间的蝴蝶 发表于 2020-8-5 11:39:07

- 这里其实是校验错误,固件已经正常烧写,可以忽略。

- 可以按照如下配置,略过校验:在家目录添加配置文件, ~/.config/upgrade_tool/config.ini ,添加一行 rb_check_off=true
- 分区大小在打包固件时,会根据 rootfs 大小调整 roofs 分区,所以会和配置文件不一致。

xhzhou1234 发表于 2020-8-6 16:44:10

[ 本帖最后由 xhzhou1234 于 2020-8-6 16:45 编辑 ]\n\n1、取消校验这个配置我在使用文档里看到了,这个不是大问题。
2、关键是要保证使用upgrade_tool从下面读上来的信息与源代码目录树下paramter.txt中两个信息不一致,对程序的运行是否有影响?
3、按理,从打包脚本看,update.img中的分区信息就是从paramter.txt来的,结果两者不一致,这总是个问题吧!

时间的蝴蝶 发表于 2020-8-7 10:01:58

`- 分区大小在打包固件时,会根据 rootfs 大小调整 roofs 分区,所以会和配置文件不一致。`
这里是打包了 `修改后` 的 paramter.txt 的文件,嗯~,确实不一致。{:4_213:}
具体你可以看下打包脚本 tools/linux/Linux_Pack_Firmware/rockdev/rk3288-mkupdate.sh
页: [1]
查看完整版本: AIO-3288C烧写buildroot固件提示Download Firmware Fail