[En-Nut-Discussion] XSVF Executor
Harald Kipp
harald.kipp at egnite.de
Mon Mar 21 12:44:12 CET 2011
Hi Werner,
On 3/21/2011 11:17 AM, Landsperger, Werner wrote:
> with the motivation to build an demonstrator which connects a web
> interface with a JTAG interface I have found the document with the XSFV
> Executor (http://www.ethernut.de/en/xsvfexec/index.html) The
> Implementation is using the Ethernut2 Board but I prefer to use the
> Ethernut3 Board. Is there another implementation for Ethernut3 available
> or is this version already usable?
In fact the same program works for Ethernut 3. However, I slightly
modified the procedure. While the xsvf file had been manually copied
into nutapp/xsvfexec/ in earlier releases, I've now a modified Makefile,
which allows to keep several CPLD projects in separate directories,
using the same XSVF-Executor source.
Best download ethernut31d-support.zip from
http://www.ethernut.de/arc/
It contains the complete project for VHDL and should be easily adapted
to Verilog, if you prefer this language.
Btw. the 3.1 support package had been created to help solving
incompatibilities between Ethernut 3.0 and 3.1.
http://www.ethernut.de/en/hardware/enut3/compatible_30_31.html
> Furthermore I'm not sure but actually the code use an xsfv file packed
> in an c-file. When I adapt the code to read in the information from the
> SD Card, the program will buffer the content at the RAM right? But XSFV
> Files can be easily bigger than 50MB. How does this work?
The CPLD on Ethernut is not that big, it only looks big ;-). The size of
the XSFV file is about 50kB.
The XSVF will be directly compiled into the XSFV Executor program, using
the UROM filesystem, which introduces almost no overhead. The easiest
way is to upload the Executor via the bootmon bootloader. When all files
are at the right place, you simply press the reset button and the board
will automatically load the binary from TFTPD into RAM and execute it to
re-program the CPLD, within a few seconds.
In case that the 256k RAM may not be large enough to take the Executor
including the XSVF, there are other options, because the Executor uses
standard file I/O to read the XSVF code. However, you cannot use the
memory card, because the MMC interface is implemented in the CPLD. But
the Ethernet interface works independent. Though, I'm not fully sure
whether CPLD programming may interfere with the external memory bus.
Also note, that I recently published a first version of ftdixsvf.exe for
Windows, which allows to re-program the CPLD with the Turtelizer 2 JTAG
adapter.
http://lists.egnite.de/pipermail/en-nut-discussion/2011-March/012556.html
Regards,
Harald
More information about the En-Nut-Discussion
mailing list