On Thu, Nov 11, 2010 at 2:44 AM, Peter Stuge <pe...@stuge.se> wrote: > > Andrew Leech wrote: > > Now I need to figure out how to bypass the lpc via software rather > > than physically changing the chain. I can't seem to find much > > information about how bypass works with openocd, do you have any > > idea? > > Sorry, no idea. >
Ok I've actually got this working! From my research there's two typical ways of using a SVF on a chain, either the SVF file has to be generated to know about the chain or the jtag software has to be aware of the chain. Basically each ir and dr command needs a header and trailer padding bytes to cover the other taps on the chain. There's specific HDR and similar commands in svf to define these paddings. Some software like UrJtag ignores these commands if they even exist and figures them out itself by scanning the chain, this is neat.The svf player in openocd doesn't have anything like this (and I don't have time right now how to figure out how to add it, maybe later), so you're left with generating the svf files to be aware of the chain, if the software making the svf has this functionality. > > > Once I have it all sorted out I think this is well worth me making > > a wiki page for programming fpga's on a chain, as there's not much > > info about it so far, and it actually seems quite easy once you > > know what your're doing. > > That would be fantastic. At the very least please do send an email > with what you came up with! > > So yeah, I was initially generating my svf files directly from Actel Designer Software using the actel project file generated by Altium Designer (where i do the actual fpga designing). It doesn't allow you to define chains anywhere, so I though I'd be in trouble, maybe having to figure out the command manually. Looking further I found that Actel FlashPro software on the other hand allows chains to be manually defined (or detect them automatically if you have their programmer hardware plugged in), and Altium was already exporting a STAPL file by default which FlashPro was happy to assign to the fpga that was defined in the chain. Then File->Export->Chain SVF File and I had svf files complete with chain header and trailer. The basic openocd command then for me are simply: source [find interface/luminary-icdi.cfg] # My programmer source [find target/lpc3131.cfg] # This is now in mainline :) jtag_khz 6000 # Going to try to optimise this later... reset_config srst_only srst_pulls_trst # My board's only wired to do this jtag newtap a3p125 tap -irlen 8 -expected-id 0x02a121cf # The FPGA init scan_chain # just to be sure they're connected properly svf Chain_PROGRAM_ARRAY.svf quiet # runs my svf file from flashpro and it sits there quietly for just over 3 minutes before informing me it's all done nicely, and I have a working fpga! When I get a chance I'll make a patch/updates to the wiki page on the svf player to be a bit more explicit on how to use it. Cheers, Andrew _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development