博客专栏

EEPW首页>博客> 技术分享|如何单独烧写镜像、分区、设备树

技术分享|如何单独烧写镜像、分区、设备树

发布人:TQwangbin 时间:2023-04-13 来源:工程师 发布文章

在日常开发中,常常需要将修改后的系统烧写进开发板进行调试。有时候我们只修改了一小部分内容,这时候烧写整个镜像就非常的浪费时间。为了节约开发时间,我们可以单独烧写某一镜像。

本文档主要解决的问题就是如何单独烧写镜像、分区、设备树。

烧写前的准备操作请浏览《TQ3568镜像更新手册》。请成功接好USB烧写线和获取镜像后,再跟着以下步骤操作!

一、单独烧写镜像

我们在单独烧写镜像时,首先执行以下操作使板子进入Loader镜像更新模式。

长按recovrey按键并保持,后给板子上电或者按复位。

RK3568上电时会先测试recovery是否被按下,按下则进入烧写模式,此时蓝色LED灯长亮。看到LED灯亮后就可以松手了(约3秒)。



其次,将需要烧写的镜像准备好。用户编译生成的镜像文件在/opt/EmbedSky/TQ3568/CoreA/Linux_SDK_XXX

/rockdev目录下。在单独烧写镜像时会用到upgrade tool 工具,upgrade_tool是Linux下的usb烧写工具,默认在linux源码目录下的/tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool,也可以在光盘中的08_开发板配套工具/linux平台工具/Linux_Upgrade_Tool_v1.65.zip找到,详细见《TQ3568环境搭建手册》的相关说明。

接下来开始烧写镜像。一般来讲,常用到的更新镜像有:内核boot.img,u-boot镜像uboot.img,文件系统rootfs.img

更新镜像的手段有upgreade_tool、RK烧写工具两种,首先介绍upgrade_tool工具烧写镜像。

使用源码自带烧写工具upgrade_tool烧写①以下是在源码目录下单独烧写内核镜像。
    sudo tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool di -b rockdev/boot.img



    ②以下是在源码目录下单独烧写u-boot镜像
      sudo tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool di -b rockdev/uboot.img



      ③单独烧写文件系统使用以上方法烧写会报以下错误



      使用RK烧写工具单独烧写文件系统镜像,具体步骤如下:

      首先把rootfs.img导出到Windows的某一目录中。

      ①打开并进入Loader模式,读取设备分区表



      读取设备分区表时会报以上提醒,点击确定即可。

      ②此时会发现右边读取到了rootfs分区,左边却没有rootfs的相关信息,如下图所示。



      ③我们只需要在左边的空白处点击右键添加新建项,将对应的地址名称填入。然后点击第③号键选择rootfs的镜像文件(这需要导出来)。



      ④最后勾选rootfs所在行,点击执行,会发现右边打印信息“下载完成”。



      值得注意的是,由于文件系统镜像占完整镜像的绝大部分,所以单独更新文件系统镜像意义不大,建议如果要更新文件系统镜像,最好直接更新完整的系统镜像。

      二、单独烧写分区

      分区镜像说明:



      为了烧写方便,RK原厂将以上命令集成到rflash.sh脚本中,使用源码目录下/rflash.sh脚本更新更方便,会自动更新rockdev目录下的镜像,建议使用此方法。

        sh rkflash.sh uboot # 更新bootloader
        三、单独烧写设备树

        由于TQ3568开发板不能单独烧写设备树,而是和boot.img内核镜像一起烧写。当我们需要更新板子上设备树时,只需在修改设备树之后重新编译内核,接着利用单独烧写boot.img镜像的方式烧入板子即可。



        *博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。




        相关推荐

        技术专区

        关闭