I have a board with a XC6SLX9 which is configured in Slave SelectMap mode by a STM32F4 ARM CortexM4 MCU. All works fine in normal operation. However, when running the ARM code using the uVision debugger via its ULINK JTAG cable, a problem arises: when the ARM executes the code which configures the FPGA, the FPGA fails to configure. It would appear that the operation of the configuration pins of the FPGA is the same as when the debugger is not in use.
The ARM and FPGA are daisychained on the JTAG, and I am suspicious that it is the activity on the JTAG pins caused by the ARM debugger running which is at the root of the problem. I‘m wondering: how does the Spartan6 decide that it should be accepting configuration data via JTAG rather than via SelectMap? Could the SelectMap configuration be failing because
of JTAG activity, even though the ARM debugger is not ‘addressing‘ the FPGA?
Any advice gratefully received
Hi,
JTAG mode configuration is always available for spartan-6 with whatever the mode pin settings are, so if there is any JTAG commands is sent over the JTAG lines you might see FPGA responding to this.
--Krishna
Issue BYPASS command to S6 when you operate on ARBypass jtag instruction is "111111" which you can check in configuration guide(ug360), also you can refer to the bsdl file of the spartan-6 for jtag command details.M in the JTAG chain; avoid to issue any JTAG commands when selectMAP is loading data.
Yes, I see, but I literally meant ‘How do I do it?‘
I am in a situation where my target board (with ARM Cortex M4 and Spartan6 in the JTAG chain) is connected to a ULINK JTAG debugger cable which is being controlled by the Keil uVision 4 IDE. It appears to be the action of the uVision IDE sending debugger commends to the ARM which causes the Spartan6 configuration to fail (but only at the point where the debugger is running the code which effects ‘normal‘ SelectMap configuration.
So, is there some way that I can issue a BYPASS command to the Spartan6 from within the uVision IDE? If not, I‘m not sure how else I can do it...
Thanks for your assistance,
Ian