You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

FX2 microcontroller firmware can work in several modes. To switch between modes used combination of COM port baudrate and parity parameters.

Mode

Enter

Description

Exit

COM

Power cycle or exit from CLI mode

Default mode. Provide Virtual COM port interface to FPGA.

Change Baudrate/Parity (CLI / EEPROM Write / Flash Write)

CLI

Baudrate = 123456

Command Line Interface. Provide set of module management commands.

Power cycle (COM).
Change Baudrate/Parity (EEPROM Write / Flash Write).
'quit' command (COM)

EEPROM Write

Baudrate = 222222 Parity = Odd

Received data written by I2C interface to EEPROM.

Power cycle (COM).
Change Baudrate/Parity works, but not recommended.

Flash Write

Baudrate = 333333 Parity = Even

Received data written to SPI Flash.

Power cycle (COM).
Change Baudrate/Parity works, but not recommended.

Firmware modes


Command Line Interface mode

CLI mode provide wide set of commands to manipulate module.
To enter CLI mode, switch COM port "Baudrate" to "123456".
In this mode firmware read user input and process commands. Commands is case sensitive and should be lower-case. "Backspace" can be used for command line correction. "Enter" with empty command line cause re-execution of previous command.

 

Command

Description

ver

Print firmware version

power off

Disable FPGA power supply

power on

Enable FPGA power supply

flash status

Print SPI Flash Status registers

flash id

Print SPI Flash IDCODE

flash erase

SPI Flash "Bulk erase"

flash unlock

Clear SPI Flash "Status register"

flash read

Read data from SPI Flash

fpga status

Print status of FPGA pins

fpga reset

Reset FPGA

quit

Quit from CLI mode to COM mode

CLI mode command set

"ver" command

The "ver" command print firmware version and build date.
Example:
> ver
1.01 beta
Build Oct 12 2012 13:02:34

"power off" command

The "power off" command disable FPGA power supply.
Example:
> power off
OK

"power on" command

The "power on" command enable FPGA power supply
Example:
> power on
OK

"flash status" command

The "flash status" command read and print SPI Flash "Status register 1" and "Status register 2" values. Please refer your Flash datasheet to registers bit layout.
Note: To get full control on SPI bus firmware disable FPGA power supply before this operation. After each flash command, use "power on" command and "fpga reset" command to run FPGA.
Example:
> flash status
SR1 00 SR2 00

"flash id" command

The "flash id" command read and print first 3 bytes from result of SPI Flash "READ IDENTIFICATION" command.

 

Byte

Description

1

Manufacturer ID

2

Memory Type

3

Memory Capacity

"READ IDENTIFICATION" result layout

For Trenz Electronic modules possible values is.

Flash

Manufacturer ID

Memory Type

Capacity

M25P32

20h - Micron

20h

16h

W25Q64FV

EFh - Winbond

40h

17h

Flash IDCODEs


Note: To get full control on SPI bus firmware disable FPGA power supply before this operation. After each flash command, use "power on" command and "fpga reset" command to run FPGA.
Example:
> flash id
IDCODE EF4017
W25Q64FV

"flash erase" command

The "flash erase" command execute SPI Flash "Bulk Erase" command. Processing of this command usually require some time. User should wait command to complete before power off module or enter next command. Refer your Flash chip datasheet for maximum required time.
Note: To get full control on SPI bus firmware disable FPGA power supply before this operation. After each flash command, use "power on" command and "fpga reset" command to run FPGA.
Example:
> flash erase
Done

"flash unlock" command

The "flash unlock" command write zero value to status register. This command can be used to clear protection bits. Refer to your Flash chip datasheet for status register layout.
Note: To get full control on SPI bus firmware disable FPGA power supply before this operation. After each flash command, use "power on" command and "fpga reset" command to run FPGA.
Example:
> flash unlock
Done

"flash read" command

The "flash read" command read and print data from SPI Flash. Firmware read 8 bytes of data from current flash address and increment address to 8 after execution.
Note: To get full control on SPI bus firmware disable FPGA power supply before this operation. After each flash command, use "power on" command and "fpga reset" command to run FPGA.
Example:
> flash read
FF FF FF FF FF FF FF FF
>
FF FF FF FF FF FF FF FF
>
AA 99 55 66 30 A1 00 07
>
20 00 31 A1 06 28 31 41
>
3D 00 31 61 89 EE 31 C2

"fpga status" command

The "fpga status" command print FPGA pins information. Information printed in 6 chars sequence {d|D}{i|I}{s|S}{p|P}{|0}{|1}.

 

Char

Value

Description

1

d

"Done" pin is 0

 

D

"Done" pin is 1

2

i

"Init" pin is 0

 

I

"Init" pin is 1

3

s

FPGA Power supply disabled

 

S

FPGA Power supply enabled

4

p

"PROG_B" pin is 0

 

P

"PROG_B" pin is 1

5

-

"Int0" pin is 0

 

0

"Int1" pin is 1

6

-

"Int1" pin is 0

 

1

"Int1" pin is 1

"fpga status" FPGA pins information printed in 6 chars sequence

Example:
> fpga status
DISP--

"fpga reset" command

The "fpga reset" command execute FPGA reset sequence by driving FPGA PROG_B pin low and high after some delay. This command also disconnect FX2 microcontroller from SPI bus to allow FPGA boot from SPI Flash.
Example:
> fpga reset
Done

"quit" command

The "quit" command switch firmware to COM mode, which allow communication with FPGA. Use "power on" command and/or "fpga reset" command before this command if needed.

EEPROM Write mode

On-board EEPROM chip contain FX2 microcontroller firmware. To update EEPROM content, several steps required:

  • To enter EEPROM Write mode, switch COM port "Parity" option to "Odd" and "Baudrate" to "222222".
  • Send firmware file to COM port in binary mode.
  • Power cycle module to apply changes.

For Windows OS this sequence can be done using "bat" file.
mode.com COM1: PARITY=O BAUD=222222
copy /b new_firmware.iic COM1:
This example write "new_firmware.iic" file content to EEPROM using COM1 port. Refer your OS information for right COM port numberWindows can work incorrectly with high port numbers. Change COM port number to COM1-COM4 if you face this problem..

Flash Write mode

On-board Flash chip contain FPGA bitstream. To update Flash content, several steps required:

  • To enter "Flash Write" mode, switch COM port "Parity" option to "Even" and "Baudrate" to 333333.
  • Send bitstream file to COM port in binary mode.
  • Power cycle module to apply changes.

For Windows OS this sequence can be done using "bat" file.
mode.com COM1: PARITY=E BAUD=333333
copy /b new_project.bin COM1:
This example write "new_project.bin" file content to Flash using COM1 port. Refer your OS information for right COM port numberWindows can work incorrectly with high port numbers. Change COM port number to COM1-COM4 if you face this problem..
Firmware automatically provide sector erase before write data.

Bitgen option for binary file generation.

To generate bitsream file in binary format use "-g Binary:yes" bitgen option. In Xilinx ISE it can be done by checking "Generate Programming File" → "Process properties" → "Create Binary Configuration File". In Xilinx XPS this option should be added to etc/bitgen.ut file.

  • No labels