Hi, Has anyone had any success in programming a Xilinx XCF using C code in a MicroBlaze over the JTAG ports? Any information appreciated. Thanks!
Programming XCF from MicroBlaze over JTAG???
Started by ●March 13, 2007
Reply by ●March 14, 20072007-03-14
On Mar 13, 8:34 pm, "Bob Golenda" <bgoli...@nospam.net> wrote:> Has anyone had any success in programming a Xilinx XCF using C code in a > MicroBlaze over the JTAG ports?Not exactly, but some closely related things, such as programming FPGA and config flashes whose JTAG signals have been connected to GPIO pins of ordinary (hardware) microcontrollers. I don't think you'll be able to program the config flash by driving the FPGA's jtag pins, so you would need some seperate connections from ordinary I/O pins. Once your microblaze can twiddle the config flash's jtag signals, you have a software problem. My preferences has been to make the embedded device behave like a jtag cable with some macro commands and act as a proxy for a program running on a PC. You could of course embed the whole thing, but that means putting the algorithm and the data into the embedded processor. Your microblaze system may have the resources for that, my embedded targets don't, so I use a much smaller block of code that acts as a proxy.
Reply by ●March 15, 20072007-03-15
> Has anyone had any success in programming a Xilinx XCF using C code in a > MicroBlaze over the JTAG ports?You can do the following: - Use IMPACT and record the JTAG programming sequence to an XSVF file. - Read XAPP058 and XAPP503 to learn about the XSVF file specification. - Implement an XSVF player using C code in a Microblaze. - Play the recorded JTAG programming sequence in your board. Using the batch mode of IMPACT, you can script this from your makefile. Regards, Marc
Reply by ●March 15, 20072007-03-15
On Mar 15, 11:40 am, "Bob Golenda" <bgoli...@nospam.net> wrote:> Of course, using GPIO pins. > > But, the question is, has anyone actually gotten this to work?I've done it with a Xilinx Spartan 3 programming from the .bit file (using a modification of the open source XC3Sprog package) and for Altera EPC4 config flash and also directly the Stratix-II FPGA, from .jam files using a modification of Altera's open source jam player. I haven't done a Xilinx config flash, but I don't imagine that would be too hard - one would just modify their reference XSVF player to control your microblaze as a proxy, or to run on your microblaze.
Reply by ●March 15, 20072007-03-15
Hi, Of course, using GPIO pins. But, the question is, has anyone actually gotten this to work? Thanks! <cs_posting@hotmail.com> wrote in message news:1173909021.616924.228790@n76g2000hsh.googlegroups.com...> On Mar 13, 8:34 pm, "Bob Golenda" <bgoli...@nospam.net> wrote: > > > Has anyone had any success in programming a Xilinx XCF using C code in a > > MicroBlaze over the JTAG ports? > > Not exactly, but some closely related things, such as programming FPGA > and config flashes whose JTAG signals have been connected to GPIO pins > of ordinary (hardware) microcontrollers. > > I don't think you'll be able to program the config flash by driving > the FPGA's jtag pins, so you would need some seperate connections from > ordinary I/O pins. > > Once your microblaze can twiddle the config flash's jtag signals, you > have a software problem. My preferences has been to make the embedded > device behave like a jtag cable with some macro commands and act as a > proxy for a program running on a PC. You could of course embed the > whole thing, but that means putting the algorithm and the data into > the embedded processor. Your microblaze system may have the resources > for that, my embedded targets don't, so I use a much smaller block of > code that acts as a proxy. >
Reply by ●March 15, 20072007-03-15
Hi Marc, Have you actually done this and gotten it to work? Thanks! <jetmarc@hotmail.com> wrote in message news:1173953588.688163.253930@o5g2000hsb.googlegroups.com...> > Has anyone had any success in programming a Xilinx XCF using C code in a > > MicroBlaze over the JTAG ports? > > You can do the following: > > - Use IMPACT and record the JTAG programming sequence to an XSVF file. > - Read XAPP058 and XAPP503 to learn about the XSVF file specification. > - Implement an XSVF player using C code in a Microblaze. > - Play the recorded JTAG programming sequence in your board. > > Using the batch mode of IMPACT, you can script this from your > makefile. > > Regards, > Marc >
Reply by ●March 15, 20072007-03-15
"Bob Golenda" <bgolinda@nospam.net> wrote in message news:NNdKh.367$B61.242@newsfe06.lga...> Hi Marc, > > Have you actually done this and gotten it to work? > > Thanks! >We have it working. I say "we" as it was mostly my software colleague's effort:) Apparently it took him a day or less to port the code from the appnote to PPC in V4, which we have been using. We are programming Xilinx Platform Flash on a slave board using this method. /Mikhail
Reply by ●March 15, 20072007-03-15
On 15 Mrz., 22:26, "MM" <m...@yahoo.com> wrote:> "Bob Golenda" <bgoli...@nospam.net> wrote in message > > news:NNdKh.367$B61.242@newsfe06.lga... > > > Hi Marc, > > > Have you actually done this and gotten it to work? > > > Thanks! > > We have it working. I say "we" as it was mostly my software colleague's > effort:) Apparently it took him a day or less to port the code from the > appnote to PPC in V4, which we have been using. We are programming Xilinx > Platform Flash on a slave board using this method. > > /Mikhailyes, I have ported XSVF player too. was to coldfire embedded linux. the porting itself is simple, and it pretty easy solution when storage is readily available. if the FPGA system doesnt run linux and only has small amount of available ram and no nonvolatile storage and no network and no high speed connections to any hosts, then its more efficient to program the XCF from bit file directly as then there is no overhead of the XSVF involved. this is unfortunatly a bit more than 1 day of work. well at least when doing it first time. Actually my first time was almost a month. but that was long time ago when xilinx had not even published the XCFxxP BSDL files yet. now its more info available so its a bit simpler to get going. and yet still Xilinx has not and will never publish the XCF programming specifications so its a bit RE and testing involved to get all timeouts correctly etc, as there is no reference datasheet for then existing :( Antti
Reply by ●March 15, 20072007-03-15
"MM" <mbmsv@yahoo.com> wrote in message news:55toioF26p89uU1@mid.individual.net...> > "Bob Golenda" <bgolinda@nospam.net> wrote in message > news:NNdKh.367$B61.242@newsfe06.lga... > > Hi Marc, > > > > Have you actually done this and gotten it to work? > > > > Thanks! > > > > We have it working. I say "we" as it was mostly my software colleague's > effort:) Apparently it took him a day or less to port the code from the > appnote to PPC in V4, which we have been using. We are programming Xilinx > Platform Flash on a slave board using this method. > > /MikhailThis is using XSVFPlayer? How many M Bytes is the file? Don't you have to actually do an output of the file and record that, and then use XSVFPlayer?
Reply by ●March 16, 20072007-03-16
"Bob Golenda" <bgolinda@nospam.net> wrote in message news:etmKh.242$ED5.20@newsfe04.lga...> > This is using XSVFPlayer? How many M Bytes is the file? Don't you have > to > actually do an output of the file and record that, and then use > XSVFPlayer? >We don't really care much about how big is the file as it gets downloaded from an external server when needed and the whole purpose of this is a rare in-field hardware upgrade. /Mikhail





