HI3556V200 Linux+Liteos双系统学习(5)----内存分配及EMMC Flash分区烧录

本文详细介绍了3556V200 SOC的128MB内存分配方案,包括LinuxOS、Liteos及媒体服务等内存布局。同时,深入解析了EMMCFlash的分区策略,如boot、env、kernel、liteos和rootfs分区的大小与位置自定义。此外,还阐述了EMMCFlash的烧录过程,包括uboot、内核、Liteos和文件系统的烧录指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 内存分配

3556V200这颗SOC有128MB的内存,在SDK的configs目录下有不同的内存配置,可以根据自己的需求来修改内存布局。

大致内存布局如下:
在这里插入图片描述

分区1说明
LinuxOS是Linux系统内存
ipcm用于双核间通信
param暂时不知道有什么用
HuaweiLiteMMZLiteos端的MMZ,用于启动媒体服务
LinuxMMZLinux端的MMZ空间,因为主要的媒体服务(音视频采集、处理、编解码等)都集中在Liteos端,多以Linux端分配的较少
HuaweiLiteOSLiteos端的系统内存

2 EMMC Flash分区

flash的分区如下:

256K(boot),64K(env),4096K(kernel),10240K(liteos),96M(rootfs),-(user)

每个分区的大小可以自定义,并且分区位置也可以自定义,例如上面对Liteos分区的大小为10MB,分区为mmcblk0p4,也可以将其挪到rootfs分区后,但是要注意uboot启动参数中的配置也要随之进行改动。另外,liteos的分区/dev/mmcblk0p4在Linux端也不要随意进行数据读写,防止异常。

3 EMMC Flash烧录

EMMC Flash和常用的SPI Flash相比,烧录指令有变化。另外,EMMC Flash块的大小为512字节,烧录时候要对齐。

烧录可以直接将uboot、内核、文件系统、liteos合并为一个烧录固件,直接烧录,用于工厂烧录。也可以在调试时候,单个烧录。

3.1 uboot

256KB
mw.b 0x83000000 0xff 0x40000
mmc write 0 0x83000000 0 0x200

3.2 内核

4096KB
mw.b 0x83000000 0xff 0x400000
mmc write 0 0x83000000 0x280 0x2000

3.3 Liteos烧录

10240KB
mw.b 0x83000000 0xff 0xA00000
mmc write 0 0x83000000 0x2280 0x5000

3.4 文件系统烧录

因为EMMC使用的ext4文件系统,所以烧录时候不要用mmc write,使用mmc write.ext4sp指令

mw.b 0x81000000 0xff 0x6000000
mmc write.ext4sp 0 0x81000000 0x7280 0x30000  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值