欲了解更多信息,请访问:https://harmonyos.51cto.com,与华为官方共同打造的鸿蒙技术社区,在通过tftp或copy文件到板子之前ftp,老是有复制不成功的时候,后来发现磁盘满了,3516的mmc容量能有好几个G,怎么满啊?其实只是磁盘分区满了不能存文件,所以本文介绍3516lite-a的分区情况。1liteos-a的mount命令无法查看分区信息,只能挂载分区,但是toybox下的mount命令可以查看分区。尺寸:很多人看到这个都会疑惑。这是多少容量?这个容量是指有多少块,我们可以转换成多少M,每个块有多大?让我们看一下代码。在3.0版本中,该目录用于存放liteos-a相关分区加载信息的EMMC_SEC_SIZE参数值为512,所以根目录大小为38912块,换算成字节为38912*521=19,922,944字节,是19M,换算成十六进制1300000,代码里面有一个宏#defineROOTFS_SIZE0x1400000是根目录的文件系统的大小#defineUSERFS_SIZE0x3200000,存放目录的大小是50M,Muserdata的大小是剩余空间大小为7380M,注意整体大小不是他们的,因为uboot和一些参数也需要分出一部分空间,这三个分区只是给操作系统用的。2根目录的分区大小在代码中设置,先从uboot启动参数中获取。如果获取不到,则使用默认值19M。hitool编程的分区设置如下:注意一定要设置编程参数的分区大小和uboot启动参数的分区,错误的话会出现启动问题,有些目录会不可用。启动参数和烧录见文章3516开发板windowHiTool工具USB烧录三固件总结3简单过一下代码流程OsMountRootfs是main函数首先读取uboot设置的参数,然后挂载分区。参数包括root、fstype、rootaddr、rootsize和ro,调用AddPartitions(dev,rootAddr,rootSize,userAddr,userSize)设置分区大小,三个分区的起始地址和大小计算如下:其中add_mmc_partition和los_disk_init是驱动中的函数,最后调用函数MountPartitions(fstype,mountFlags);fstype表示文件系统类型,mountFlags表示分区加载方式,主要是ro只读和rw读写。更多信息请访问:Harmonyos.51cto.com,与华为官方合作打造的鸿蒙技术社区
