查看: 996|回复: 0

蓝牙数据存储折腾

[复制链接]
  • TA的每日心情
    奋斗
    2016-11-11 09:20
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-10-21 08:52:34 | 显示全部楼层 |阅读模式
    分享到:
    通过协议栈中API函数去操作flash,调用pstorage_store或者pstorage_update存储数据之后,出现flash中数据异常的问题。
    其中定义的module 中block size:800Bytes  block count:5个,在存储的过程中出现以下的问题,每次写flash的时候,数据都能写进去,但是在固定的位置会出现一些固定的乱码。具体截图如下:

    初步解决办法
    经过各种测试,发现这个问题一直存在,但是通过对要读写的数据进行按要求的个数写时,问题能解决,但是按规定的blocksize去写的话就没办法不产生这个问题,所以最终采用根据要写的数据个数来确定(满足字对齐的要求)。

    Flash出现问题的原因已经弄清楚,要严格的满足4字节对齐的含义,存进去的数组必须定义为32bit的方式,然后必须满足静态static的声明,放才可以正常操作,还有存进去的数据要设置好格式以小端模式存储,及低位在低字节存储方式,在读取的时候要注意数据的转化。
    具体的flash操作流程明白之后就可以了,先是注册module,然后设置module里面的block大小和block数量,满足必定的条件方可以操作。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 09:14 , Processed in 0.121426 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.