关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(二)

在产品官网上 下载  可以烧写的样本镜像   下方提供云盘链接

链接:https://pan.baidu.com/s/1UjuXWcqsrxfztrvFQdtY-A 密码:pdcx【长期有效】

下载成功之后 将 Firefly-rk3399_xubuntu16.04_EC20_20180614.img 文件拷贝到 Linux Ubuntu 16.04 的家目录

       这里介绍一个工具  winscp , 浏览器搜索 直接可以下载,傻瓜式设置ip 、用户名,登录的时候正确输入密码,即可进行拖拽拷贝文件,非常方便,大大提高效率

这也提供百度下载链接下载WINSCP:

        链接:https://pan.baidu.com/s/1fiAiWyUGdGXW1WFuS7d_7A 密码:h0yd

【准备解img包的工具】

下载工具包:
    git clone https://github.com/TeeFirefly/rk2918_tools.git  
进入工具包目录:
    cd rk2918_tools
自动化编译:
    make
将可执行文件拷贝到用户二进制目录:
    sudo cp afptool img_unpack img_maker mkkrnlimg /usr/local/bin

【开始解包】

【敲黑板】

       本解包是在linux中解包,因为在linux解包可以清晰的看到loader.img 解析出来,方便之后的打包。如果自己通过网上资源在windows下解包,会导致loader.img 加载器不能直接生成,会生成一个boot.bin二进制文件。建议在Linux做,成功进入了之后可以研究在window下的解包和打包。
       你存放img的目录内,进行解包: img_unpack Firefly-rk3399_xubuntu16.04_EC20_20180614.img img //解包到img目录,img目录会自动生成
       以下是打印消息 rom version: 6.0.1 build time: xxxxxxx chip: 33333043 checking md5sum....OK

解析成功之后,img 目录下会生成 loader.img  update.img

扫描二维码关注公众号,回复: 2630531 查看本文章

【解压update.img】

进入到img 目录,使用 afptool -unpack 解压:

afptool -unpack update.img update    //解压到 update    目录

以下是解压时的打印消息:

Check file...OK
------- UNPACK -------
package-file	0x00000800	0x00000280
Image/MiniLoaderAll.bin	0x00001000	0x0003E94E
Image/parameter.txt	0x00040000	0x00000350
Image/trust.img	0x00040800	0x00400000
Image/uboot.img	0x00440800	0x00400000
Image/misc.img	0x00840800	0x0000C000
Image/resource.img	0x0084C800	0x0003FE00
Image/kernel.img	0x0088C800	0x00F5D00C
Image/boot.img	0x017EA000	0x0014AD24
Image/recovery.img	0x01935000	0x013C0000
Image/system.img	0x02CF5000	0x2622A000
RESERVED	0x00000000	0x00000000
UnPack OK!

       打开update目录,里面生成了一些列img文件,将  自己编译生成的 kernel.img 和 resource.img 覆盖进去(需要修改成对应的名字),(关于【firefly-rk3399】的环境配置以及编译内核遇到的问题,烧写update.img相关量产工具的说明(一)  有说明如何生成上述img 文件)

       然后在当前目录(update 目录),进行打包,打包命令如下:

afptool -pack . ../update_new.img

以下是打印 消息:

------ PACKAGE ------
Add file: ./package-file
Add file: ./Image/MiniLoaderAll.bin
Add file: ./Image/parameter.txt
Add file: ./Image/trust.img
Add file: ./Image/uboot.img
Add file: ./Image/misc.img
Add file: ./Image/resource.img
Add file: ./Image/kernel.img
Add file: ./Image/boot.img
Add file: ./Image/recovery.img
Add file: ./Image/system.img
Add file: ./RESERVED
Add CRC...
------ OK ------
Pack OK!

成功之后,目录下和上一级目录 会生成 update_new.img ,但是这个img文件还不能烧入板子,因为没有loader.img 加载器 

合成update.img

把之前提到的loader.img 移动到 和 update_new.img 同一目录,运行一下命令:

    img_maker -rk33 loader.img update_new.img update.img
以下是打印消息:
    generate image...
    append md5sum...
    success!

此时生成的 update.img 才是可以烧写进入板子的镜像

【接下来开始烧写镜像】

安装串口驱动:

        链接:https://pan.baidu.com/s/1DCqrfK3clHE2Rxjqmg_7vQ 密码:chai

下载单个烧写工具   AndroidTool233.zip   

        链接:https://pan.baidu.com/s/16xp98rUVDCQWWxB0nrBU2Q 密码:mqs7

工具界面是这样的:

点击升级固件->点击固件->加入update.img->升级

升级过程中,rk3399的板子需要设置模式,Loader模式

Loader模式

在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。有两种方法可以使设备进入升级模式:

一种方式是断开电源适配器

  • Type-C 线连接好设备和主机。
  • 按住设备上的 RECOVERY (恢复)键并保持。
  • 插上电源
  • 大约两秒钟后,松开 RECOVERY 键。

另一种方式是接上电源适配器

  • Type-C数据线连接好设备和主机。
  • 按住设备上的 RECOVERY (恢复)键并保持。
  • 短按一下 RESET(复位)键。
  • 大约两秒钟后,松开 RECOVERY 键

3秒钟之内软件能够检测到设备连接,此时方可点击升级,进行固件升级。

【关于量产工具的说明】

官方 http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/upgrade_firmware.html , 给出的量产工具是不能识别设备的,无论无数次卸载串口驱动再安装,依然无济于事。

现在介绍一个使用的量产工具 FactoryTool,易于操作,烧写方便,一次性烧写数量可以达到20台以上,适合量产。

链接:https://pan.baidu.com/s/1_CqEtqMmfpdJ44-yiA14EA 密码:rphw

界面是这样的:

和之前单个烧写是同样的步骤,直接操作就好

猜你喜欢

转载自blog.csdn.net/m0_37322399/article/details/81503057
今日推荐