[资源分享] AC781X eflash操作示例

[复制链接]
55|0
 楼主 | 2019-8-23 11:04 | 显示全部楼层 |阅读模式
借用CMSIS包,我们可以很方便的对eflash进行读写操作;
AC781X芯片的eflash在擦除写入时,是不需要将eflash驱动copy到RAM中去运行的(之前有遇到一些芯片,是不可以在flash中运行擦写flash的代码的),甚至可以擦除当前正在运行的代码块(当然了,擦完肯定就飞了)。

编程的流程也很简单,就四个步骤:
1,解锁
2,擦除块
3,写入
4,上锁
当然,擦除后也可以再进行一下擦除验证。
整个操作代码就像下面这样,要注意eflash一页是2K,按字(4字节)来写入。
  1.     uint8_t ret;
  2.     EFLASH_UnlockCtrl();
  3.     ret = EFLASH_PageErase(0x08010000);     ///<erase page
  4.     if (ret != EFLASH_STATUS_SUCCESS) return;
  5.     ret = EFLASH_PageEraseVerify(0x08010000);   ///< verify erase state
  6.     if (ret != EFLASH_STATUS_SUCCESS) return;
  7.     //EFLASH_LockCtrl();      
  8.    
  9.     //EFLASH_UnlockCtrl();        
  10.     ret = EFLASH_PageProgram(0x08010000, writedata, 512);   ///< 写入512字(2K byte)
  11.     EFLASH_LockCtrl();
复制代码











eflash_sample.rar (348.43 KB, 下载次数: 0)

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表