打印
[技术问答]

e-flash 函数库优化建议

[复制链接]
525|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
戊戌变法|  楼主 | 2019-11-11 08:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 戊戌变法 于 2019-11-13 08:48 编辑

首先 参考手册上的e-flash操作是需要 e-flash先完成解锁的,然后指令才有效果。
但是 目前经过我测试  e-flash中函数 存在不解锁但返回值为EFLASH_STATUS_SUCCESS情况
我建议官方的e-flash库函数 可以增加判断是否已经解锁了再返回值  不然根据这个e-falash函数返回值 用户就会做出错误判断。
uint16_t i = 0;
  for(i=0; i<255; i++)
  {
    writedata = i+255;
    readdata  = 0;
  }
  for(i=255; i<512; i++)
  {
    writedata = i*2;
    readdata  = 0;
  }

  EFLASH_LockCtrl();
  ret =                EFLASH_PageProgram(0x08010000, writedata, 512);
  if(ret == EFLASH_STATUS_SUCCESS)
  {
    printf("ok3\r\n");
  }
  ret = EFLASH_Read(0x08010000, readdata, 512);
  if(ret == EFLASH_STATUS_SUCCESS)
  {
    printf("ok4\r\n");
    ret = EFLASH_PageErase(0x08010000);     ///<erase page
    if(ret == EFLASH_STATUS_SUCCESS)
    {
      printf("ok5\r\n");
    }
    ret = EFLASH_Read(0x08010000, readdata, 512);
    if(ret == EFLASH_STATUS_SUCCESS)
    {
      printf("ok6\r\n");
      for(i=0; i<512; i++)
      {
        printf("readdata[%d] = %d\r\n",i, readdata );
      }
    }
    while(1);
  }


打印输出
ok3
ok4
ok5
ok6

这个程序是证明    EFLASH_LockCtrl();   eflash 函数返回值都为OK   不合理的情况

使用特权

评论回复

相关帖子

沙发
internally| | 2019-11-11 19:52 | 只看该作者
感谢楼主分享!学习一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

94

帖子

1

粉丝