MT7628原厂SDK添加数据存储分区

这里以SKW92A为例进行说明,原厂SDK打包固件,启动后,固件只有一个kernel分区,数据再掉电后无法保存。一般通过nvram_set去存储键值对数据,通过nvram_get获取数据。如:获取WIFI热点名,修改WIFI热点名,操作如下。

# nvram_get 2860 SSID1
SKYLAB_30EB1F3F965E
# 
# nvram_set 2860 SSID1 hello
# 
# nvram_get 2860 SSID1
hello
# 

这种方式简单好用,但是再存储日志等文件时,有较大弊端。下面介绍通过划分分区,将分区设置为可读写,然后映射到文件夹下。

1.划分分区

此处我们划分1Mbyte的RootFS分区用于保存数据,后面的4Mbyte用于Back固件。

0x000000000000-0x000000030000 : "Bootloader"
0x000000030000-0x000000040000 : "Config"
0x000000040000-0x000000050000 : "Factory"
0x000000050000-0x000000b00000 : "Kernel"
0x000000b00000-0x000000c00000 : "RootFS"
0x000000c00000-0x000001000000 : 备份固件

关于Kernel分区

关于RootFS分区:【1MByte---》0x100000】大小根据需求改

格式化RootFS分区为jffs2:

内核部分需要支持JFFS2

工具:

格式化指令:

mtd_write erase RootFS

mkdir -p /rootfs

mkfs.jffs2 -s 0x1000 -e 0x10000 -d /rootfs -o rootfs.jffs2 -p 0x100000

mtd_write -o 0 -l 0x100000 write /rootfs.jffs2 RootFS

挂在分区到/flash:

mkdir -p /flash/

mount -t jffs2 /dev/mtdblock5 /flash/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值