FPGA Management Overview
The EVMDM642 has an on-board FPGA that controls the outbound video data path and many board configuration functions. This FPGA itself comes up with all inputs/outputs disabled on power-up and code on the EVMDM642 must download a Xilinx hex data file into the FPGA for it to become active. You can always tell whether the FPGA has been programmed or not by the state of LED DS9 (the orange one next to the 8 programmable user LEDs). The LED is on when the FPGA is active.
As shipped, the EVMDM642 is designed to boot code out of Flash to automatically load the FPGA contents on power-up. The FPGA data is placed at address 0x90040000 in page 0 of the Flash. A separate FPGA loader is placed at the base of Flash (0x90000000) that reads the FPGA data from Flash and programs the FPGA.
FlashBurn is a utility included with Code Composer Studio that can be used to program code and data into the on-board Flash on the EVMDM642. You can use FlashBurn to replace the original FPGA loader and data if you overwrite them, load new versions of the FPGA hex file or put bootable applications in Flash.
The FPGA hex data and FPGA loader are two distinct pieces. You can update each one independently of the other or even replace the FPGA loader with your own application.
Converting Files to ASCII Hex Format
FlashBurn takes ASCII hex files as input. If you have a raw Xilinx hex format data file or a Code Composer .out file, you must convert it to ASCII hex format before you can put it into Flash. The FPGA and FPGA loader files that ship with the EVMDM642 are already in ASCII format so you do not need to perform these steps if you want to restore to the original configuration.
The xilinx2asm.exe utility is used to convert FPGA data files from Xilinx hex to ASCII hex. The hex6x.exe utility is used to convert Code Composer .out files (see Generating a Bootable Hex File) for more information. The following table summarizes the path you need to take for each type of file:
xilinx2asm command syntax:
xilinx2asm filename (do not add .hex extension)
Converts filename.hex in Xilinx hex format to filename_ahex._hex.hex in ASCII hex format.
|