15. SPI闪存程序员

笔记

该工具适用于DA14580 / 581/583,DA14585 / 6和DA14531芯片系列。

SPI闪存程序员用于将图像文件下载到SPI闪存。

../_images/spiflashprogrammer.png

图60.SPI Flash Programmer用于DA14585 / 6

../_images/spiflashprogrammer531.jpg.

图61.SPI Flash Programmer for DA14531

  • 加载hex / bin文件:用户可以选择.hex或.bin映像文件才能编程(参见程序SPI / EEPROM)并将其烧坏到SPI闪存。

  • 显示信息:在这里表格用户可以看到如何编程当前图像。

  • SPI闪存(十六进制)偏移:可选择用户可以为SPI内存指定HEX中的偏移量。操作(读写)将尊重该偏移量。

  • SPI闪存大小(十六进制,以字节为单位):用户设置SPI闪存的大小。该值用于验证要读/写入的数据范围不会超出可用内存空间的边界。通过这种方式,工具箱在命令发送到底层库之前初始检查。
    如果此值小于实际大小,请更新值以防止工具箱发出以下消息:
    所选文件加偏移量的数据大小超过SPI闪存大小
    如果此值高于实际大小,则底层库将无法读取/写入最大内存大小,并将显示以下消息:
    记忆刻录失败

选择图像文件后,可以使用以下操作:

  • 连接:将特殊固件下载到芯片以允许用户与SPI闪存进行交互。在启用其他操作之前,这是一个强制性的步骤。请注意,此固件与在OTP图像选项卡上按“Connect”按钮时下载的固件不同。如果“CRC不匹配”显示,请再次按“Connect”按钮,然后按下电路板上的硬件重置按钮重新启动下载过程。
  • 阅读32KB.:从指定的偏移开始,SPI闪存始终读取32kbyte块。此偏移量不能大于最大SPI闪存大小。由于应用程序不知道SPI闪存大小,因此用户可以通过填充“SPI闪存大小(十六进制,以字节)”字段来指定它。如果用户不知道SPI闪存的大小,则为DA14580 / 581/583系列使用128KB(0x20000字节)的默认值,为256kb(0x40000字节)用于DA14585 / 6系列。
  • 擦拭:擦除整个SPI闪存
  • 擦除扇区:删除用户指定的开始和结束地址之间的扇区。
  • 烧伤:以选定的偏移开始写入数据。请注意,在将数据下载到SPI Flash之前,固件在将数据所需的区域中删除适当的4KB扇区。
  • 烧伤和验证:在刻录过程后添加验证步骤。将数据刻录到SPI闪存后,验证内存的内容与已被刻录的文件的内容相同。
  • 保存:按下保存按钮,用户可以将SPI闪存内容保存到文件中。将弹出一个对话框,以便选择输出文件,偏移量和SPI闪存字节数要保存。
../_images/savetofile.png

图62.SPI将内存保存到文件

请注意,目前SPI Flash编程器已在3V的Cuct模式下测试,并在2.7V下升压模式。

对于旁路模式,需要更新闪存程序员二进制文件。

请按照以下步骤使用旁路支持生成新的二进制文件:

  1. 打开Flash Programmer Keil项目6.0.14.1114 \ Utilities \ flash_programmer。看图63.
  2. 在Arch.h文件中启用CFG_POWER_MODE_BYPASS标志
  3. 编译。jtag_programmer_531.bin是生成的
  4. 重命名jtag_programmer_531.bin到jtag_programmer.bin
  5. 在您的SmartSnippets™工具箱目录安装下:例如

C:\计划文件(x86)\ smartsnippetstoolbox \ smartsnippetstoolbox5.0.12 \ common_resources \ supportpackages \ da1453x \ toolbox_resources \ common \ jtag_programmer.bin

或者

C:\ DiaSemi \ SmartSnippetsStudio2.0.12 \ Toolbox \ common_resources \ supportspackages \ da1453x \ toolbox_resources \ common \ jtag_programmer.bin

删除jtag_programmer.bin并将其替换为新的。

../_images/bypassmode531.jpg.

图63.在Keil上生成闪存程序员二进制,以支持DA14531的旁路模式