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

电子说

1.3w人已加入

描述

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

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

烧写前的准备操作请浏览《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镜像的方式烧入板子即可。

分区


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分