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

1 内存分配

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

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

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

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  

猜你喜欢

转载自blog.csdn.net/u011003120/article/details/105595692
今日推荐