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

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

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

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

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

    ro           = 0工具

 可是应用层怎么使用这个分区,那就须要挂载此分区:ui

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

nandj分区被连接在private,如今就须要把private连接挂载到根目录下:开发

在android\device\softwinner\wing-k70\init.sun7i.rc中增长以下操做:flash

在on early-init中建立目录private1it

     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的目录:

后来尝试在private1中建立文件,而后从新升级固件,从新启动后文件并无删除,成功!

相关文章
相关标签/搜索