A20怎么实现FLASH分区的私有数据在固件升级时不被清除

最近在项目里要实现出厂机身UID的存储,至于保存在哪儿是个问题。在SDK的工具包里有个SN_WERITER的工具,尝试使用多次后发觉此软件有问题,后来电话全志开发人员,他们很确定告诉此工具已经停止维护。

后来就直接在flash分区中将nandj作为不可擦除的分区:

在lichee\tools\pack\chips\sun7i\configs\android\wing-k70\sys_partition.fex中将nandj分区改为如下设置:

[partition]
    name         = private
    size         = 32768
    keydata      = 1     私有数据分区,重新量产数据将不丢失

    ro           = 0

 但是应用层怎么使用这个分区,那就需要挂载此分区:

在adb shell 中查看/dev/block/的分区状况;

142818_cz19_1176566.jpg

nandj分区被链接在private,现在就需要把private链接挂载到根目录下:

在android\device\softwinner\wing-k70\init.sun7i.rc中增加如下操作:

在on early-init中创建目录private1

     mkdir /private1 0000 system system

并且增加挂载的操作:

#try to mount /private1 
    wait /dev/block/private
    mount ext4 /dev/block/private /private1 wait noatime nosuid nodev barrier=0
    setupfs /dev/block/private  
    umount /private1
    exec /system/bin/logwrapper /system/bin/e2fsck -y /dev/block/private
    exec /system/bin/busybox mount -t ext4 -o noatime,nosuid,nodev,barrier=0,journal_checksum,noauto_da_alloc /dev/block/private /private1 

保存然后重新编译打包,烧录固件后在根目录下就会出现private1的目录:

143625_u8UA_1176566.jpg

后来尝试在private1中创建文件,然后重新升级固件,重新启动后文件并没有删除,成功!

转载于:https://my.oschina.net/u/1176566/blog/337402

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值