水星2程序员
mercury2_prog应用程序是一种命令行实用程序,用于通过板载FT2232H USB到串行适配器编程Mercury 2 FPGA板。目前,它可以与S25FL116K(16Mbit),S25FL132K(32Mbit)和S25FL164K(64Mbit)SPI闪光芯片进行通信。
该应用程序使用FT2232H的端口A用于配置。端口B免费用于用户应用程序。请参阅Mercury 2示意图,以了解如何将FT2232H连接到FPGA和SPI闪光灯。
用法
-h或--help打印了描述这些选项的帮助消息-l或--list列出了所有可见的FTDI设备,并尝试找到Mercury 2板-e或--erase在水星上擦除了整个SPI闪光2-
-r或--read读取整个SPI闪光灯并将其保存到dump.bit -
-w或--write使用指定的文件将其写入SPI闪存。例如:./ mercury2_prog -w test.bit。 (请注意,此命令将在编写之前自动删除所需的块。)
建造
mercury2_prog应用程序是在Linux上使用make编辑的。使用GCC 7.4.0和MingW32-GCC-7.3在Ubuntu 18.04上进行了测试。该构建产生了两个二进制文件:
-
mercury2_prog本机X86-64 Linux应用程序 mercury2_prog .exe跨编译X86-64 Windows应用程序
请注意,您必须sudo apt-get install mingw-tools mingw-w64-tools以互编换窗户。
样本输出
mercury2_prog -w mercury2_blink.bit
.———————————-.
| MERCURY 2 PROGRAMMER |
| (c) 2019 MicroNova LLC |
| www.micro-nova.com |
\’———————————-\’
Reading bitstream file \’mercury2_blink.bit\’
Size is 231.8 kBytes = 237345 bytes = 1898760 bits
928 x 256B pages (927 whole pages + 33 byte remainder)
58 x 4kB sectors (57 whole sectors + 3873 byte remainder)
4 x 64kB blocks (3 whole blocks + 40740 byte remainder)
Reading file…
Checking for FTDI devices…3 FTDI devices found
Device 0:
– Description = \’Mercury FPGA\’
– Serial # = \’77\’
– FTDI Chip = FT232R @ 12Mbps
– Opened = No
Device 1:
– Description = \’Mercury 2 FPGA A\’
– Serial # = \’100A\’
– FTDI Chip = FT2232H @ 480Mbps
– Opened = No
Device 2:
– Description = \’Mercury 2 FPGA B\’
– Serial # = \’100B\’
– FTDI Chip = FT2232H @ 480Mbps
– Opened = No
Found Mercury 2 FPGA board at FTDI device 1.
FTDI device 1 opened successfully.
Configuring FTDI for SPI communication…OK
Found flash: S25FL132K 32Mbit
***** WRITING FLASH *****
Erasing block 3 / 3 = 100.0%
Writing page 927 / 927 = 100.0%
Programming time : 2.019 sec
Effective speed : 114.413 kBytes/sec\”>
$ ./ mercury2_prog -w mercury2_blink.bit
.----------------------------------.
| MERCURY 2 PROGRAMMER |
| (c) 2019 MicroNova LLC |
| www.micro-nova.com |
\'----------------------------------\'
Reading bitstream file \'mercury2_blink.bit\'
Size is 231.8 kBytes = 237345 bytes = 1898760 bits
928 x 256B pages (927 whole pages + 33 byte remainder)
58 x 4kB sectors (57 whole sectors + 3873 byte remainder)
4 x 64kB blocks (3 whole blocks + 40740 byte remainder)
Reading file...
Checking for FTDI devices...3 FTDI devices found
Device 0:
- Description = \'Mercury FPGA\'
- Serial # = \'77\'
- FTDI Chip = FT232R @ 12Mbps
- Opened = No
Device 1:
- Description = \'Mercury 2 FPGA A\'
- Serial # = \'100A\'
- FTDI Chip = FT2232H @ 480Mbps
- Opened = No
Device 2:
- Description = \'Mercury 2 FPGA B\'
- Serial # = \'100B\'
- FTDI Chip = FT2232H @ 480Mbps
- Opened = No
Found Mercury 2 FPGA board at FTDI device 1.
FTDI device 1 opened successfully.
Configuring FTDI for SPI communication...OK
Found flash: S25FL132K 32Mbit
***** WRITING FLASH *****
Erasing block 3 / 3 = 100.0%
Writing page 927 / 927 = 100.0%
Programming time : 2.019 sec
Effective speed : 114.413 kBytes/sec
