On Nov 22, 2008, at 9:36 AM, Duane Ellis wrote:
# Example: Declare a chip, for example some Xilinx FPGAjtag newtap xilinx -chip xilinx -ir-length 6 -ir-capture ???? - ir-mask ????
This looks fine other than my personal preference to not use "chip" here. In theory you could have a very complex board where you want to refer to groups of discrete devices that are part of a larger chain. Something like "group" would be more neutral but provides the same effect. Further, I'm not sure that having both the tap name and the tap group name pollute the global namespace is appropriate. The only operations on them can be done via the jtag command and they are only used with options that clearly denote them as being part of jtag. A separate jtag namespace might be more appropriate.
Instead of "newtap" we could use "create" to more consistent with the terminology used by the target command.
#----------- # Example: Declare a chip, example an stm32.jtag newtap stm32_cortexm3 -chip stm32 -ir-length 4 -ir-capture 0xf -ir-mask 0xe -after START jtag newtap stm32_flash -chip stm32 -ir-length 4 -ir- capture 0xf -ir-mask 0xe -after stm32_cortexm3#NOTE: in the above, # -after START' means the cortex_m3 is tap N+0 in the chip# and -after stm32_cortexm3 means the "flash" tap is 2nd in the chip.#----------- # And a more complex chip - the omap3530 (beagle board) # (I don't know details of omap3530 - this is a contrived example)jtag newtap omap3530_icepick -chip omap3530 -ir-length ? -ir- capture ? -ir-mask ? -after START jtag newtap omap3530_foo -chip omap3530 -ir-length ? -ir- capture ? -ir-mask ? -after omap3530_icepick jtag newtap omap3530_cortexA8 -chip omap3530 -ir-length ? -ir- capture ? -ir-mask ? -after omap3530_foo jtag newtap omap3530_dsp -chip omap3530 -ir-length ? -ir- capture ? -ir mask -? -after omap 3530_cortexA8# The OMAP starts off with everything disabled but the icepick. omap3530_icepick enable omap3530_foo disable omap3530_cortexA8 disable omap3530_dsp disable
If a separate jtag namespace was used, these would change to: jtag configure omap3530_icepick -enable jtag configure omap3530_foo -disable
#----------- # NOW - specify the order the chips are wired in. # First is the stm32, then the xilinx, then the omap3530 jtag chiporder stm32 xilinx omap3530
If the chiporder (or grouporder) isn't specified, what is the default? Do we fall back to using the order they were declared in?
#----------- # Now declare the 2 GDB debug targetstarget create tgt_stm32 cortex_m3 -chain-position stm32_cortexm3 target create tgt_omap3530 cortex_a8 -chain-position omap3530_cortexA8
This is where the namespace issue really shows. Since the jtag taps and groups show up in the global namespace, the targets can't share a name. This led you to add tgt_ to targets to separate them from the jtag taps. If separate namespaces were used, the target namespace would be empty and the -chain-position (should be called -jtag-tap) would be looking in the jtag namespace.
#----------- # This proc(command) reconfigures the ice-pick proc omap3530_enable_cortex_A8 { } { FIXME: insert commands here to enable the cortexA8 # Update the 'tap enable/disable list. omap3530_icepick enable omap3530_foo disable omap3530_cortexA8 enable omap3530_dsp disable } #----------- # This proc(command) reconfigures the ice-pick proc omap3530_enable_dsp { } { FIXME: insert commands here to enable the DSP # Update the 'tap enable/disable list. omap3530_icepick enable omap3530_foo disable omap3530_cortexA8 disable omap3530_dsp disable } #----------- # My assumption is - on hard reset, OMAP3530 ice-pick # disables everything and the cortexA8 must be re-enabled. # So - we define an "reset-event" procedure for the omap.omap3530_cortexA8 configure -event reset-assert-post omap3530_enable_cortex_A8
The extension of the namespace separation would be that targets would be their own namespace as well. Thus, this would change to :
jtag configure omap3530_cortexA8 -event reset-assert-post omap3530_enable_cortex_A8
I assume that by using jtag events you expect to add them. Either that or you intended this to be a target in which case the namespace issue already causes problems.
#================ # END #================ _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development
-- Rick Altherr [EMAIL PROTECTED]"He said he hadn't had a byte in three days. I had a short, so I split it with him."
-- Unsigned
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development