3556V200这颗SOC有128MB的内存,在SDK的configs目录下有不同的内存配置,可以根据自己的需求来修改内存布局。
分区1 | 说明 |
---|---|
LinuxOS | 是Linux系统内存 |
ipcm | 用于双核间通信 |
param | 暂时不知道有什么用 |
HuaweiLiteMMZ | Liteos端的MMZ,用于启动媒体服务 |
LinuxMMZ | Linux端的MMZ空间,因为主要的媒体服务(音视频采集、处理、编解码等)都集中在Liteos端,多以Linux端分配的较少 |
HuaweiLiteOS | Liteos端的系统内存 |
flash的分区如下:
256K(boot),64K(env),4096K(kernel),10240K(liteos),96M(rootfs),-(user)
每个分区的大小可以自定义,并且分区位置也可以自定义,例如上面对Liteos分区的大小为10MB,分区为mmcblk0p4,也可以将其挪到rootfs分区后,但是要注意uboot启动参数中的配置也要随之进行改动。另外,liteos的分区/dev/mmcblk0p4在Linux端也不要随意进行数据读写,防止异常。
EMMC Flash和常用的SPI Flash相比,烧录指令有变化。另外,EMMC Flash块的大小为512字节,烧录时候要对齐。
烧录可以直接将uboot、内核、文件系统、liteos合并为一个烧录固件,直接烧录,用于工厂烧录。也可以在调试时候,单个烧录。
256KB
mw.b 0x83000000 0xff 0x40000
mmc write 0 0x83000000 0 0x200
4096KB
mw.b 0x83000000 0xff 0x400000
mmc write 0 0x83000000 0x280 0x2000
10240KB
mw.b 0x83000000 0xff 0xA00000
mmc write 0 0x83000000 0x2280 0x5000
因为EMMC使用的ext4文件系统,所以烧录时候不要用mmc write,使用mmc write.ext4sp指令
mw.b 0x81000000 0xff 0x6000000
mmc write.ext4sp 0 0x81000000 0x7280 0x30000