Rockchip系列之RK3568 Android设备固件和分区信息

这篇具有很好参考价值的文章主要介绍了Rockchip系列之RK3568 Android设备固件和分区信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

固件信息

分区信息

分区作用

增加新分区计算规则

分区信息单位解析

Sector

字节

为什么使用Sector?

单位转换


新版本增加分区方式  

Android 11+增加了可以自动生成parameter.txt的工具,并支持编译parameter.txt

根据配置参数。如果没有配置模板文件,工具会发现并添加修改后的parameter.txt文件。(如果想了解计算规则 请看下面的内容)
参考文档《Rockchip_Android13_SDK_Developer_Guide_EN.pdf》

Rockchip系列之RK3568 Android设备固件和分区信息,# 【Android Rockchip平台】,Android,Rockchip


FIRMWARE_VER: 11.0 MACHINE_MODEL: rk3568_r MACHINE_ID: 007 MANUFACTURER: rockchip MAGIC: 0x5041524B ATAG: 0x00200800 MACHINE: rk3568_r CHECK_MASK: 0x80 PWR_HLD: 0,0,A,0,1 TYPE: GPT CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00002000(security),0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00002000@0x0000a000(dtbo),0x00000800@0x0000c000(vbmeta),0x00014000@0x0000c800(boot),0x00030000@0x00020800(recovery),0x000c0000@0x00050800(backup),0x000c0000@0x00110800(cache),0x00008000@0x001d0800(metadata),0x00000800@0x001d8800(baseparameter),0x00614000@0x001d9000(super),-@0x007ed000(userdata:grow)
 

固件信息

以下是Rockchip RK3568设备的固件信息,包括设备的型号、制造商、固件版本等:

  • FIRMWARE_VER: 固件的版本号,这里的版本号是11.0。
  • MACHINE_MODEL: 设备的型号,这里的型号是rk3568_r。
  • MACHINE_ID: 设备的ID,这里的ID是007。
  • MANUFACTURER: 设备的制造商,这里的制造商是rockchip。
  • MAGIC: 用于标识设备的特殊值,这里的值是0x5041524B。
  • ATAG: 用于标识设备的特殊值,这里的值是0x00200800。
  • MACHINE: 设备的型号,这里的型号是rk3568_r。
  • CHECK_MASK: 用于检查设备的特殊值,这里的值是0x80。
  • PWR_HLD: 用于控制设备电源的特殊值,这里的值是0,0,A,0,1。
  • TYPE: 设备的类型,这里的类型是GPT。
  • CMDLINE: 设备的命令行参数,包括了设备的各种分区信息。

分区信息

以下是设备的分区信息,包括分区的名称、起始地址、偏移量、大小和用途:

分区名称

分区起始地址(sector)

分区偏移量(sector)

分区大小(sector)

分区大小(MB)

分区用途

security

0x00002000

0x00002000

0x00002000

4MB

用于存储安全相关的信息

uboot

0x00004000

0x00002000

0x00002000

4MB

用于存储U-Boot引导加载器

trust

0x00006000

0x00002000

0x00002000

4MB

用于存储TrustZone相关的信息

misc

0x00008000

0x00002000

0x00002000

4MB

用于存储各种杂项信息

dtbo

0x0000a000

0x00002000

0x00002000

4MB

用于存储设备树覆盖信息

vbmeta

0x0000c000

0x00002000

0x00000800

1MB

用于存储AVB元数据

boot

0x0000c800

0x00000800

0x00014000

10MB

用于存储引导分区

recovery

0x00020800

0x00014000

0x00030000

24MB

用于存储恢复分区

backup

0x00050800

0x00030000

0x000c0000

96MB

用于存储备份分区

cache

0x00110800

0x000c0000

0x000c0000

96MB

用于存储缓存分区

metadata

0x001d0800

0x000c0000

0x00008000

16MB

用于存储元数据分区

baseparameter

0x001d8800

0x00008000

0x00000800

1MB

用于存储基本参数

super

0x001d9000

0x00000800

0x00614000

394MB

用于存储超级分区

userdata

0x007ed000

0x00614000

-

-

用于存储用户数据分区

注意:这个表格是基于提供的CMDLINE参数生成的,实际的分区信息可能会因设备的具体配置而有所不同。另外,"userdata"分区的大小是"-",表示它会占用剩余的所有空间。

分区作用

每个分区在Android系统中都有特定的作用,以下是每个分区的简单解释:

  1. boot.img:包含ramdisk、kernel、dtb,用于启动设备并加载操作系统的核心组件。
  2. boot-debug.img:与boot.img的差别是用户固件可以烧写这个boot.img进行root权限操作。
  3. dtbo.img:Device Tree Overlays (设备树覆盖),用于描述硬件配置的数据结构。
  4. config.cfg:烧写工具的配置文件,可以直接导入烧写工具显示需要烧写的选项。
  5. MiniLoaderAll.bin:包含一级loader,用于引导加载器的启动过程。
  6. misc.img:包含recovery-wipe开机标识信息,烧写后会进行恢复操作。
  7. parameter.txt:包含分区信息,记录了设备的分区布局。
  8. pcba_small_misc.img:包含pcba开机标识信息,烧写后会进入简易版pcba模式。
  9. pcba_whole_misc.img:包含pcba开机标识信息,烧写后会进入完整版pcba模式。
  10. recovery.img:包含recovery-ramdisk、kernel、dtb,用于设备出现问题时进行修复操作。
  11. super.img:包含odm、product、vendor、system、system_ext分区内容,是一个包含多个子分区的超级分区。
  12. trust.img:包含BL31、BL32,用于存储TrustZone相关的信息,创建安全环境来运行敏感代码和处理敏感数据。
  13. uboot.img:包含uboot固件,是一个在设备启动时运行的程序,负责加载内核和其他重要的系统组件。
  14. vbmeta.img:包含avb校验信息,用于Android Verified Boot (AVB)的验证机制。
  15. update.img:包含以上需要烧写的img文件,可用于直接烧写整个固件包。
  16. security:用于存储安全相关的信息,如设备的加密密钥等。
  17. cache:存储缓存分区,用于存储临时数据。
  18. userdata:存储用户数据分区,包括用户的应用数据、下载的文件等。
  19. metadata:存储元数据分区,用于存储系统的元数据,如设备的IMEI号等。
  20. backup:存储备份分区,用于在系统更新或恢复时备份重要的数据。

增加新分区计算规则

如果想要添加一个新的分区,例如名为"odm"的分区,大小为15MB,需要首先确定这个分区的起始地址。这个地址应该是上一个分区的起始地址加上上一个分区的大小。例如,如果上一个分区是"super"分区,那么"odm"分区的起始地址应该是0x007ed000 + 0x00614000 = 0x00df1000。

需要将这个分区的大小转换为sector。由于1个sector等于512Bytes,所以15MB等于15 * 1024 * 1024 / 512 = 0x0000f000 sector。

可以将这个分区添加到CMDLINE参数中,像这样:0x0000f000@0x00df1000(odm)。

所以,添加"odm"分区后的CMDLINE参数应该是这样的:

mtdparts=rk29xxnand:0x00002000@0x00002000(security),0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00002000@0x0000a000(dtbo),0x00000800@0x0000c000(vbmeta),0x00014000@0x0000c800(boot),0x00030000@0x00020800(recovery),0x000c0000@0x00050800(backup),0x000c0000@0x00110800(cache),0x00008000@0x001d0800(metadata),0x00000800@0x001d8800(baseparameter),0x00614000@0x001d9000(super),0x0000f000@0x00df1000(odm),-@0x00e01000(userdata:grow)

这个CMDLINE参数包含了新的"odm"分区,它的起始地址是0x00df1000,大小是0x0000f000 sector(15MB)。"userdata"分区的起始地址也相应地向后移动了0x0000f000 sector,以留出空间给"odm"分区。

分区信息单位解析

在处理设备分区信息时,通常会遇到两种单位:sector和字节。

Sector

Sector是设备上的最小存储单元,通常是512字节。在分区信息中,分区大小和分区偏移量都是以sector为单位的。

字节

字节是计算机中的基本存储单元,通常用B表示。一个sector等于512个字节,也就是说,一个sector可以存储512个B的数据。

为什么使用Sector?

使用sector为单位可以更好地对齐设备上的存储空间,提高存储效率和性能。如果使用字节为单位,可能会造成设备上的空间浪费或者读写错误。

例如,如果一个分区的大小是8192字节,那么它占用了16个sector(8192 / 512 = 16)。如果一个分区的大小是8193字节,那么它占用了17个sector(8193 / 512 = 16.00195),但是实际上只用了第17个sector的一个字节,剩下的511个字节就浪费了。如果一个分区的大小是8191字节,那么它占用了16个sector(8191 / 512 = 15.99805),但是实际上少用了第16个sector的一个字节,可能会导致读写错误。

单位转换

如果想看以字节为单位的分区信息,可以把sector乘以512来转换成字节。同样地,如果想看以MB(兆字节)为单位的分区信息,可以把sector乘以512 / 1024 / 1024来转换成MB。

例如,如果一个分区的大小是0x00002000 sector,那么它的大小是0x00002000 * 512字节,或者0x00002000 * 512 / 1024 / 1024 MB。文章来源地址https://www.toymoban.com/news/detail-709228.html

到了这里,关于Rockchip系列之RK3568 Android设备固件和分区信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rockchip平台rk3588源码下载编译(基于Android13)

    下载地址 服务器镜像下载 需要向RK申请SDK使用权限。 由于AOSP使用的repo管理源码仓库,所以为了方便开发者获取repo工具,RK也提供了repo工具的下载 本文介绍了如何使用Markdown撰写一篇关于搭建自己的repo代码服务器的文章。以下是详细的步骤和指导。 环境准备 在开始之前,

    2024年02月03日
    浏览(49)
  • RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132686096 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《RK3568开发笔记(五):

    2024年02月09日
    浏览(35)
  • RK3568/RK3566 系统完整启动信息打印

    DDR Version V1.09 20210630 ln ddrconfig:15 DDR4, 324MHz BW=32 Col=10 Bk=4 BG=2 CS0 Row=16 CS=1 Die BW=16 Size=2048MB change to: 324MHz clk skew:0x80 PHY drv:clk:37,ca:37,DQ:37,odt:0 vrefinner:50%, vrefout:50% dram drv:34,odt:0 change to: 528MHz clk skew:0x80 PHY drv:clk:37,ca:37,DQ:37,odt:0 vrefinner:50%, vrefout:50% dram drv:34,odt:0 change to: 780MHz clk s

    2024年02月11日
    浏览(30)
  • RK3568 Android 13 系统裁剪

    android 13 系统裁剪是个大工程,裁剪也是需要大量的测试,才能保证系统的稳定性,以下是RK官方给出的裁剪方案,有兴趣的可以去看一下,对裁剪不是要求过高的可以根据官方的建议,对系统进行裁剪: Rockchip Android平台内存优化及系统裁剪_build_with_go_opt-CSDN博客 然后官方的裁

    2024年02月22日
    浏览(45)
  • RK系列(RK3568) MIPI屏适配 PWM背光 驱动开发

    平台:Android12 SOC:RK3568 一般拿到MIPI屏 厂家会给一个跑的配置文件  例如我的: 那么可以配置设备树 由于我接的是DSI0 backlight = backlight; 设置背光

    2024年02月07日
    浏览(26)
  • android kernel移植5-RK3568

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前面我们已经学会了移植uboot,其实就是把瑞芯微的关于uboot的一些文件的名字和编译指定的文件改为自己定义的问价和名字,那么接下来的Android kernel其实也是一个道理。 需要找到我们的内核默认配置

    2024年02月13日
    浏览(25)
  • RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132826197 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《RK3568开发笔记(七):

    2024年02月07日
    浏览(31)
  • rk3568 安卓11 修改android id

    frameworksbasepackagesSettingsProvidersrccomandroidproviderssettingsSettingsProvider.java 系统应用获取的android id 直接写死 上层普通应用 android id跟着sn变化 android id跟着IMEI变化

    2024年04月28日
    浏览(31)
  • RK35XX系列(RK3568)Camera 热插拔功能 调试记录

    SOC:RK3568 system:Android12 kernel:kernel-4.19 芯片:NVP6158C xs9922 目前我的主板上NVP6158接入4路Camera走DVP通道,xs9922接入4路AHDCamera走mipi通道 RK kernel-4.19支持xs9922 nvp6158c驱动路径       drivers/media/i2c/xs9922/xs9922.c  drivers/media/i2c/nvp6158_drv/nvp6158_v4l2.c RK支持Camera热插拔复位机制,如果

    2024年02月13日
    浏览(34)
  • RK3568平台开发系列讲解(调试篇)如何跟踪系统事件

    沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文我们要介绍 Linux 上两个非常有用的工具: ltrace 和 strace 。在分析软件的运行过程、调试疑难 Bug 、执行性能分析和调优等方面,它们都是非常有用的辅助工具。另外,我们还会介绍与之相关的一个功能强大的系统调

    2023年04月18日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包