Flasher Hub是SEGGER公司新一代Flash批量编程控制器,搭配Flasher使用。通过Flasher Hub最多可以控制24台Flasher并行对芯片的Flash烧录,适合用在产线上批量烧录和测试固件。Flasher Compact具有容量大,速度快的特点,可以保存多个固件。
Flasher Hub自带4个USB端口,再通过带供电的USB Hub连接各个Flasher Compact。Flasher Hub内置web Server和FTP Server,用户通过登录web对Flasher Hub和所连接的Flasher Compact进行管理和烧录操作,例如固件上传、删除,烧录等。下图显示当前连接了两个Flasher Compact,用户可以对其进行编号和命名,便于辨识。
在web页面中,Flasher Hub可以一次将固件上传到所连接的所有Flasher Compact或其中的一个。
产品在量产时,可能一次需要烧录多个固件。例如,在测试机台上需要先烧录测试固件,对硬件各方面进行测试通过之后再烧录正式的固件,分两个步骤烧录。由于Flasher Compact内置128MB的存储空间,实际上可以一次存储需要的多个固件,在烧录的时候只需通过Flasher Hub的web页面,或者通过telnet发送对应的ASCII命令选择对应固件并烧录。
这里准备了两个固件用于演示,一个名为test.hex,另一个名为release.hex。先通过J-Flash生成Flasher Compact的配置文件和数据文件。
1、在J-Flash中新建一个项目,并设置MCU的型号和接口类型(JTAG/SWD)。然后在Project Settings ->General->connection type->TCP/IP中设置Flasher Hub的IP地址(需事先为Flasher Hub配置静态IP)。并勾选上需要配置的模块(Flasher Compact),模块的序号可以在web页面中进行设置。
2、从File->Open data file…打开固件文件,格式可以是Hex/bin/srecord/ELF。然后从File-> Save Flasher config file导出配置文件,File-> Save Flasher data file导出数据文件。分两次针对两个固件导出配置文件和数据文件,并命名为不同的名字。
固件对应的配置文件(*.cfg)和数据文件(*.dat)名称必须是一样的,并且还会生成一个同名的目录,里面放置的是Flash的烧写算法(Device.pex),文件的相对组织应该如下图所示,分别是test和release固件生成的配置文件和数据文件:
3、将生成的Flasher配置文件通过Flasher Hub上传到Flasher Compact。使用FTP上传更为方便,但要注意,必须使用账号登录(admin:1234),否则没有写入权限无法上传文件。这里只需要使用模块2,将上述的文件上传到MODULE.002这个目录。
4、web界面实现烧录。在配置和数据文件上传之后,在web的Programming中选择对应的模块和固件,然后点start programming按钮就开始烧录了。
5、Telnet控制烧录。Telnet客户端通过23端口连接到Flasher Hub之后,发送对应的ASCII命令控制固件的烧录操作。Telnet客户端可以使用Windows系统自带的或者Putty等。
发送模块选择命令,格式:#select [module1][,module2][,module3] [Project Name]
#select 2 test,选择模块2的test固件。
发送烧录命令,格式:#AUTO [module1][, module2][, module3]
#auto 2,控制模块2烧录固件。
再次使用命令选择release固件,并再次烧录,这样就先后完成了两个固件的烧录。
6、使用脚本自动执行命令
为了方便实现自动化控制,可以编写一个vbs脚本,根据实际需求,自动调用Windows的telnet.exe并逐条执行命令。
这个真不错,还没用过这个产品,可能量不够吧