Flasher是用于带有片上或外部Flash的微控制器的编程工具。目前Flasher支持创建secure area,该区域允许使用给定的配置文件预先配置Flasher,然后将其提供给外部生产设施。设置secure area后无法通过MSD、FILE I/O功能(J-Link Commander)或RS232等读出Flasher的内容。本文介绍如何在Flasher上设置secure area,以及如何将配置/数据文件移入其中。
1、PC-based模式
在此模式下,Flasher可用作J-Link,并由J-Link软件和文档包(J-Link Commander,J-Flash,…)中的软件控制。
2、独立模式
当Flasher没有有效的USB /以太网连接到主机PC时进入此模式。例如Flasher仅通过USB电源供电。
3、MSD模式
在通过USB连接Flasher时,按住Flasher的“开始/停止”按钮(在Flasher上为“ PROG”按钮)至少2秒钟。 在此模式下,Flasher枚举为PC上的大容量存储设备(类似U盘)。 在此模式下,可以将配置+数据文件手动放置在Flasher上,并且可以读取Flasher日志文件。
默认情况下,Flasher内部仅存在公共存储区域(可通过MSD模式访问Flasher Flash)。 secure area必须创建才能使用。创建secure area后,将为secure area保留Flasher一半的存储空间(在当前型号上为〜64 MB)。也可以随时移除secure area,从而将完整的Flasher存储空间再次提供给公共区域。可以通过J-Link Commander创建/删除secure area,J-Link Commander是Flasher随附软件包的一部分。
J-Link Commander中提供了以下与secure area相关的命令:
🔹securearea create
🔹securearea remove
注:当创建或删除secure area时,存储在Flasher内的所有配置和数据文件都将丢失。在创建/删除secure area之前,请确保这些文件不再需要。
在将配置和数据文件移动到secure area之前,应在独立模式下测试Flasher是否正常工作。一旦设置按预期工作,执行以下操作,将配置和数据文件移动到secure area:
1、在J-Link Commander中创建secure area后,以MSD模式启动Flasher,移动FLASHER.cfg和FLASHER.dat到Flasher中。
注:FLASHER.CFG包含用于对目标设备进行配置的信息,而FLASHER.DAT包含要编程的数据。
2、 创建文件夹”_SECURE”。
3、将应移动到secure area中的所有文件移动到此文件夹中。
图 3‑2 移动文件到secure area中
4、重新启动Flasher(再次启动时不要以MSD模式启动。否则,文件不会移动到secure area)。启动后,根据配置和数据文件大小,可能需要一点时间,Flasher电源LED才会点亮。点亮后,所有文件均已移至secure area,并且公共区域中的_SECURE文件夹已删除。
5、现在Flasher可以照常在独立模式下使用,但是用户无法读取文件。
1、任何程序都无法读取secure area的内容。当Flasher从secure area运行时,仅有FLASHER.LOG放置在公共区域中并进行更新,该文件中记载了以独立模式执行有关命令的所有日志记录信息。
2、如果在公共区域中除了FLASHER.LOG之外有任何文件或文件夹,同时secure area中也有配置和数据文件,则在独立模式下会烧录失败,因为无法明确使用哪个配置和数据文件。在这种情况下,Flasher在烧录时将在FLASHER.LOG中输出错误信息。
较旧型号的Flasher不支持这种方法。在以下序列号范围内的Flasher都不支持:
· 1621xxxxx (Flasher ARM V2)
· 1630xxxxx (Flasher ARM V3)
· 4210xxxxx (Flasher PPC V1)
· 4110xxxxx (Flasher RX V1)
其他所有型号/硬件版本都支持安全烧录。