3.2.4:数据读写
PowerWriter支持所有数据段的查空、读取、擦除、写入、校验五种操作,主流的数据段,包括:
- Program Memory(Main Flash)主程序存储空间
- EEPROM 用户数据存储区
- OTP 用户一次可编程存储区(无法擦除,只能写入一次)
部分芯片包含其他区间,如Nuvoton 的SPI 区,APROM 、LDROM、DATA等区块。
在操作数据区时需要建立一个概念,所有的数据区在PowerWriter 上处于同一级别,以及同样的方法处理,所以在操作流程上也是高度相似的,下面以Program Memory 为例说明数据区域的读写方法。
3.2.4.1 代码空间(Program Memory)
如图所示,Program Memory 区域支持:
- 读取Program Memory。
- 查空Program Memory。
- 擦除Program Memory。
- 编程Program Memory。
- 校验Program Memory。
3.2.4.1.1 读取Program Memory
点击菜单中的读取Program Memory,即可将数据读取到缓冲区中,如下所示:
- 可以通过工具栏导出数据按钮导出数据到磁盘文件。
- 导出数据时可以在缓冲区标记导出的起始地址和结束地址,实现自由导出区段。
- 读取的数据存储在缓冲区编辑器中。
3.2.4.1.2 查空Program Memory
通过点击菜单中的查空Program Memory按钮来查询芯片是否为空片,如图所示:
- 如果芯片为空片,则不会有对话框信息,只有日志栏信息,如果不为空片,则会弹出读取到不为空片的第一个扇区。
- 查空芯片不一定是全为 0xFF,部分芯片特性的原因,0x00,也为空片,取决于芯片擦除后的值为多少。
3.2.4.1.3 擦除Program Memory
通过点击菜单中的擦除Program Memory按钮来擦除芯片,如图所示:
- 擦除功能默认为片擦除,如需擦除扇区,请选择对应的扇区,使用 擦除选中按钮来擦除扇区。
- 擦除失败时,请检查是否有读保护或者写保护。
3.2.4.1.4 编程Program Memory
通过点击菜单中的编程 Program Memory按钮来编程对应的数据区,如图所示:
- 如果有添加文件:则会写入导入的文件到目标芯片中,支持多文件,随机数据等。
- 如果没有添加文件:则会写入当前的缓冲区到目标芯片中。
3.2.4.1.5 校验Program Memory
通过点击菜单中的校验Program Memory按钮来查询芯片是否为空片,如图所示:
- 如果有添加文件:则会校验导入的文件,支持多文件。
- 如果没有添加文件:则会校验当前的缓冲区。
- 随机数据:随机数据不会参与校验!!
3.2.4.2 数据导出
参考 芯片数据导出 将目标芯片数据保存到磁盘文件。
3.2.4.3 其他区域 (EEPROM、OTP等)
其他数据区,也同样支持类似 Program Memory 的操作方式,支持读取,查空,擦除(OTP 不支持擦除),写入,校验,操作入口见其他数据区操作。
其他数据区操作是 Program Memory的一个子集,暂未做多固件支持,其他功能都提供。
3.2.4.4 工具栏按钮
读写目标芯片数据,常规的方式是使用菜单入口,进阶的方式是使用快捷键,高阶方法使用工具栏快速入口,如下所示:
从左到右分别为:
- 查空当前页。
- 擦除当前页。
- 读取当前页。
- 编程当前页。
- 校验当前页。
使用时,将标签页切换到对应的页面,执行如上的五个按钮,即可快速在线操作当前页面。
当前页指PowerWriter 客户端的主标签页,如下所示:
3.2.4.5 其他在线操作
Power Writer 同时提供其他常见的在线功能,比如:
- 复位目标芯片。
- 读取CID。
- 任意地址读数据等操作。
这些操作都可以通过菜单进入,也可以使用工具栏按钮快捷操作。
3.2.4.6 编程失败时处理
参考 在线编程(烧写)失败 获取处理方法。