3516开发板liteos-a分区详解

系统
之前通过tftp或ftp往板子中拷贝文件,总是出现拷贝不成功的时候,后来发现原来时磁盘满了,可以3516的mmc容量好几个G,怎么会满,其实只是磁盘分区满了,存不下文件了,所以本文介绍一下3516的lite-a的分区情况。

[[442858]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

之前通过tftp或ftp往板子中拷贝文件,总是出现拷贝不成功的时候,后来发现原来时磁盘满了,可以3516的mmc容量好几个G,怎么会满,其实只是磁盘分区满了,存不下文件了,所以本文介绍一下3516的lite-a的分区情况。

1 liteos-a的mount命令不能查看分区信息,只能挂载分区,但是toybox下的mount命令可以查看分区,分区显示如下,

主要包括三个分区,根目录,storage和userdata

#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区

partinfo可以查看各个分区的总大小:

#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区

看到这个好多人会蒙,这到底是多大容量啊,这个容量指的是有多少块,我们可以换算成多少M,每块多大我们看一下代码,在版本3.0中这个目录是存放liteos-a相关的分区加载信息的

#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区

EMMC_SEC_SIZE这个参数值为512,所以根目录大小是38912块,换算成字节是38912*521=19,922,944字节,也就是19M,

转成16进制为130 0000,代码中有个宏

#define ROOTFS_SIZE 0x1400000 正是根目录的文件系统的大小

#define USERFS_SIZE 0x3200000,目录storage大小为50M

userdata大小为剩余空间大小是7380M,注意总体大小不是她们的和因为uboot和一些参数也要分走一部分空间的,这三个分区只是操作系统的。

2 根目录的分区大小在代码中的设置方式是先从uboot启动参数获取,如果获取不到,采用默认值19M,hitool烧录的分区设置如下:

#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区

注意我们一定要设置好烧录参数的分区大小和uboot启动参数的分区,如果弄错会出现启动问题,有些目录会不可用,

启动参数和烧录见文章3516开发板window上HiTool工具USB烧录三种固件总结

3 简单过一下代码流程

OsMountRootfs为主函数,先读取uboot设置的参数,然后mount分区,参数包括root,fstype,rootaddr,rootsize和ro,

调用AddPartitions(dev, rootAddr, rootSize, userAddr, userSize)设置分区大小,三个分区开始地址和大小计算如下:

#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区
#星光计划2.0#3516开发板liteos-a分区详解-鸿蒙HarmonyOS技术社区

其中add_mmc_partition和los_disk_init是驱动中的函数,最后调用函数MountPartitions(fstype, mountFlags);

fstype代表文件系统类型,mountFlags代表分区加载方式,主要是ro只读和rw可读写。

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-05-25 14:47:43

鸿蒙HarmonyOS应用

2021-12-30 16:12:07

鸿蒙HarmonyOS应用

2020-12-10 12:12:32

鸿蒙开发板init_lite

2021-06-25 09:28:46

鸿蒙HarmonyOS应用

2022-08-08 19:35:37

HDF驱动开发鸿蒙

2021-02-01 13:58:51

鸿蒙HarmonyOS应用开发

2020-12-29 09:59:01

鸿蒙HarmonyOS智能家居

2020-12-16 10:05:48

鸿蒙开发板Onenet平台

2022-02-16 16:01:02

Hi3516开发板鸿蒙

2020-10-19 10:28:58

liteos-a移植STM32MP157

2020-10-20 09:32:43

HiSparkWi-FiIoT

2022-04-01 15:54:01

DHCP网络协议开发板

2021-10-25 09:53:52

鸿蒙HarmonyOS应用

2022-10-14 15:55:24

环境搭建鸿蒙

2021-07-09 14:20:23

鸿蒙HarmonyOS应用

2022-01-07 21:11:27

鸿蒙HarmonyOS应用

2020-11-17 12:15:36

MQTT开发

2020-09-17 17:41:24

Liteos-a鸿蒙Linux

2020-11-13 09:45:36

Liteos-a
点赞
收藏

51CTO技术栈公众号