Firefly开源社区

1234
发表新贴

rk3566/rk3568 烧写异常问题

662

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
662
发表于 2021-7-15 09:45:08     
本帖最后由 zyk 于 2021-9-17 11:57 编辑

rk356x maskrom烧写过程或烧写后出现异常的主要原因是 同时存在Nor flash和emmc存储介质的情况下,烧写步骤有遗漏或操作不当引起的,严重情况会导致系统起不来

下面汇总一些异常的情况和处理方法以供参考



一、烧写固件失败提示Download Firmware Fail
image.png

原因:没有切换存储为emmc,直接烧录固件,此时固件是烧写到nor flash中,nor flash的容量无法装载一个大小为1GB+的完整固件,所以会出现失败。出现烧写失败时建议点击EraseFlash进行擦除,防止重启后进入nor flash中
image.png

解决方法:参考维基的操作步骤https://wiki.t-firefly.com/Core- ... an-xia-zai-dao-emmc进行烧写即可

二、读取存储列表(List Storage)失败
image.png

原因:没有下载 MiniLoaderAll.bin 就直接点 读取存储列表(List Storage),缺少步骤的一个典型

解决方法:
1. 下载好对应主控的MiniLoaderAll.bin,下载链接https://www.t-firefly.com/share/ ... 2084e383074ada.html 或 本帖附件

2. 按照步骤下载MiniLoaderAll.bin到工具的Boot一栏再点读取存储列表(List Storage)
image.png

三、点击下载(Download)异常
image.png


image.png

原因:
1. 获取的MiniLoaderAll.bin有问题
2. 重复下载了MiniLoaderAll.bin

解决方法:
重新下一个MiniLoaderAll.bin,如https://www.t-firefly.com/share/ ... 2084e383074ada.html 或 本帖附件;Boot一栏下载成功后无需重复点击下载Download

四、烧写成功后无法启动



  1. Bootdev(atags): mtd 2
  2. GUID Partition Table Header signature is wrong: 0xA9425BF5A94153F3 != 0x5452415020494645
  3. *** ERROR: Can't write GPT header ***
  4. Backup GPT repair fail!
  5. PartType: EFI
  6. boot mode: recovery (misc)
  7. FIT: No fdt blob
  8. boot mode: None
  9. Android 11.0, Build 2021.4, v2
  10. Found DTB in boot part
  11. Failed to read resource hdr
  12. Failed to create resource list
  13. Failed to load DTB
  14. Failed to get kernel dtb, ret=-19
  15. io-domain: OK
  16. Model: Rockchip RK3568 Evaluation Board
  17. rockchip_set_ethaddr: vendor_storage_write failed -5
  18. rockchip_set_serialno: could not find efuse/otp device
  19. no recovery key node
  20. CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  21.   apll 816000 KHz
  22.   dpll 780000 KHz
  23.   gpll 1188000 KHz
  24.   cpll 1000000 KHz
  25.   npll 24000 KHz
  26.   vpll 24000 KHz
  27.   hpll 24000 KHz
  28.   ppll 100000 KHz
  29.   armclk 816000 KHz
  30.   aclk_bus 150000 KHz
  31.   pclk_bus 50000 KHz
  32.   aclk_top_high 300000 KHz
  33.   aclk_top_low 200000 KHz
  34.   hclk_top 150000 KHz
  35.   pclk_top 50000 KHz
  36.   aclk_perimid 300000 KHz
  37.   hclk_perimid 150000 KHz
  38.   pclk_pmu 50000 KHz
  39. Net:   No ethernet found.
  40. Hit key to stop autoboot('CTRL+C'):  0
  41. ## Booting FIT Image FIT: No fit blob
  42. FIT: No FIT image
  43. ANDROID: reboot reason: "(none)"
  44. optee api revision: 2.0
  45. TEEC: blk_dread fail
  46. TEEC: OpteeClientRkFsInit fail!
  47. Can't read vboot flag
  48. Android boot failed, error -1.
  49. no mmc device at slot 1
  50. no mmc device at slot 0
  51. starting USB...
  52. Bus dwc3@fcc00000: usb maximum-speed not found
  53. Register 2000140 NbrPorts 2
  54. Starting the controller
  55. USB XHCI 1.10
  56. Bus dwc3@fd000000: usb maximum-speed not found
  57. Register 2000140 NbrPorts 2
  58. Starting the controller
  59. USB XHCI 1.10
  60. scanning bus dwc3@fcc00000 for devices... 1 USB Device(s) found
  61. scanning bus dwc3@fd000000 for devices... cannot reset port 1!?
  62. 1 USB Device(s) found
  63.        scanning usb for storage devices... 0 Storage Device(s) found

  64. Device 0: unknown device
  65. No ethernet found.
  66. missing environment variable: pxeuuid
  67. missing environment variable: bootfile
  68. Retrieving file: pxelinux.cfg/00000000
  69. No ethernet found.
  70. missing environment variable: bootfile
  71. Retrieving file: pxelinux.cfg/0000000
  72. No ethernet found.
  73. missing environment variable: bootfile
  74. Retrieving file: pxelinux.cfg/000000
  75. No ethernet found.
  76. missing environment variable: bootfile
  77. Retrieving file: pxelinux.cfg/00000
  78. No ethernet found.
  79. missing environment variable: bootfile
  80. Retrieving file: pxelinux.cfg/0000
  81. No ethernet found.
  82. missing environment variable: bootfile
  83. Retrieving file: pxelinux.cfg/000
  84. No ethernet found.
  85. missing environment variable: bootfile
  86. Retrieving file: pxelinux.cfg/00
  87. No ethernet found.
  88. missing environment variable: bootfile
  89. Retrieving file: pxelinux.cfg/0
  90. No ethernet found.
  91. missing environment variable: bootfile
  92. Retrieving file: pxelinux.cfg/default-arm-rockchip
  93. No ethernet found.
  94. missing environment variable: bootfile
  95. Retrieving file: pxelinux.cfg/default-arm
  96. No ethernet found.
  97. missing environment variable: bootfile
  98. Retrieving file: pxelinux.cfg/default
  99. No ethernet found.
  100. Config file not found
  101. No ethernet found.
  102. No ethernet found.
  103. =>
复制代码



原因: 系统从nor flash中启动了,见log信息Bootdev(atags): mtd 2,这种情况是因为nor flash不为空,nor flash有一部分不完整的固件,通常是直接把固件烧到nor flash引起的

解决方法:
1.此uboot命令行中直接把nor flash擦除
  1. => mtd erase nor0
  2. Erasing 0x00000000 ... 0x01ffffff (8192 eraseblock(s))
  3. => reboot
复制代码



2.进入maskrom通过AndroidTool工具把nor flash给擦除掉,具体参考维基https://wiki.t-firefly.com/Core- ... an-xia-zai-dao-emmc
image.png

该情况进入maskrom过程中会遇到两种情况,第一种是emmc是空的(被擦除过了),第二种是emmc烧写过固件。

emmc为空的情况下,参考维基章节<<Maskrom模式>>短接nor flash就可以进入maskrom了;

AIO-3568J: https://wiki.t-firefly.com/Core-3568J/04-maskrom_mode.html
ROC-RK3568-PC: https://wiki.t-firefly.com/ROC-RK3568-PC/04-maskrom_mode.html
ROC-RK3566-PC: https://wiki.t-firefly.com/ROC-RK3566-PC/04-maskrom_mode.html

emmc烧写过固件,此时短接nor flash后,系统从emmc启动到正常模式。每次重启进入正常模式都需要短接nor flash,比较麻烦,所以还是要把nor flash给擦除掉,建议还是使用AndroidTool工具擦除,所以我们要重新回到maskrom模式。不改硬件的情况下有以下方法:


① 系统从spi flash启动过程长按ctrl+c组合键进入spi flash的uboot命令行模式,输入rbrom回车进入maskrom

②同时短接nor flash和emmc 进入maskrom

③(部分旧固件)短接nor flash时,系统从emmc启动过程长按ctrl+c组合键进入emmc正常的uboot命令行模式,输入rbrom回车进入maskrom



  1. U-Boot 2017.09 (Jul 07 2021 - 10:03:57 +0800)
  2. ...
  3. dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
  4. Bootdev(atags): mmc 0
  5. MMC0: HS200, 200Mhz
  6. ...
  7.   pclk_pmu 100000 KHz
  8. Net:   eth1: ethernet@fe010000, eth0: ethernet@fe2a0000
  9. Hit key to stop autoboot('CTRL+C'):  0
  10. => <INTERRUPT>
  11. => <INTERRUPT>
  12. => rbrom
复制代码

Bootdev(atags): mmc 0说明是从emmc中启动的

五、烧写成功后卡在Starting kernel
  1. Starting kernel ...

  2. =>
复制代码
原因: 可能是使用的串口模块或串口软件配置不当引起的,系统可能已经起来了,此时可以接上屏幕看看有没有显示或ADB能否正常使用

解决方法:可以尝试使用官方的串口模块https://store.t-firefly.com/goods.php?id=24


MiniLoaderAll20210715.rar

565.31 KB, 下载次数: 21, 下载积分: 灯泡 -1 , 经验 -1

rk3566&rk3568 MiniLoaderAll.bin

回复

使用道具 举报

108

积分

0

威望

0

贡献

技术小白

积分
108
发表于 2021-7-15 11:31:07     
It's really helpful and useful. Excellent!
回复

使用道具 举报

3

积分

0

威望

0

贡献

吃瓜的群众

积分
3
发表于 2021-7-15 17:26:29     
请问RK3568 需要提前烧写RPMB key吗
回复

使用道具 举报

662

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
662
发表于 2021-7-16 10:39:02     
kat 发表于 2021-7-15 17:26
请问RK3568 需要提前烧写RPMB key吗

烧录固件就可以了
回复

使用道具 举报

3

积分

0

威望

0

贡献

吃瓜的群众

积分
3
发表于 2021-7-23 09:08:37     
设置了权限,这个文件没法下载呀
回复

使用道具 举报

662

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
662
发表于 2021-7-23 15:38:41     
本帖最后由 zyk 于 2021-7-23 15:39 编辑
nj1tony 发表于 2021-7-23 09:08
设置了权限,这个文件没法下载呀

无法下载具体是什么现象,可以试一下从该链接https://www.t-firefly.com/share/ ... 2084e383074ada.html下载
回复

使用道具 举报

7

积分

0

威望

0

贡献

技术小白

积分
7
发表于 2021-7-25 21:26:57     

回帖奖励 +1

可以了吗
回复

使用道具 举报

8

积分

0

威望

0

贡献

技术小白

积分
8
发表于 2021-8-4 14:00:15     
买了3566板子,下载boot显示设备不匹配,chip信息显示 -RK3568,下载了3566的和3568的MiniLoaderAll.bin,还是都显示设备不匹配,什么原因啊
回复

使用道具 举报

662

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
662
发表于 2021-8-4 23:13:41     
walter.chen 发表于 2021-8-4 14:00
买了3566板子,下载boot显示设备不匹配,chip信息显示 -RK3568,下载了3566的和3568的MiniLoaderAll.bin, ...

使用的AndroidTool工具版本是v2.81?从哪里获取的MiniLoaderAll.bin
回复

使用道具 举报

6

积分

0

威望

0

贡献

技术小白

积分
6
发表于 2021-8-6 16:39:22     
tom_liu 发表于 2021-7-15 11:31
It's really helpful and useful. Excellent!

6666
回复

使用道具 举报

返回列表
1234
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表