It is possible to write and download a custom firmware for the TE USB FX2 module.
If the custom firmware is malfunctioning/broken, the FX2 microcontroller (after loading) will stall and the USB connection (with the host computer) will be unresponsive.
Host computer's SW will be | To do so, the developer should create a custom FX2 microcontroller's firmware | To do so, the developer should |
---|---|---|
able to use custom and reference | compatible with the reference firmware; | no change of FPGA's MicroBlaze software should be necessary |
able to use | ,that keep a compatible FLASH_WRITE_COMMAND | no change of FPGA's MicroBlaze software should be necessary |
able to use custom MB Commands | no change of FX2 microcontroller's firmware | modify in thei2c_slave_int_handler() function in interrupt.crunning on FPGA's MicroBlaze (using the demo project as starting point); |
use the interrupts associated with MB Commands in a different way (aka avoid polling for example) | create a custom FX2 microcontroller's firmware that modify ,,
| modify the i2c_slave_int_handler() function |
use Slave Parallel (SelectMAP) Mode and/or Slave Serial Mode | that load the configuration data from a source (SPI Flash, USB connection or B2B connection) and write the retrieved configuration data in the FPGA. | no change of FPGA's MicroBlaze software should be necessary, but some HW modifications (desoldering/resoldering) are necessary for TE0630 and TE0300 module |
The first two point will (probably) require modifications only to USB FX2 microcontroller's firmware.
The third point will (probably) requires modifications only to FPGA's MicroBlaze software.
The fouth point will requires (minor) modifications to USB FX2 microcontroller's firmware and (not so minor) modifications to FPGA's MicroBlaze software and (maybe) VHDL of XPS_I2C_SLAVE custom IP block.