Hi again,

I decided to move on, and given a clue about remote bitbanging interface 
support in OpenOCD, I wrote a small server for it and integrated it with GHDL
simulation engine, exposing a "pure" JTAG interface which can be then connected 
to a TAP controller and used during simulation.

So far things seem to work OK, I created a JTAG TAP and implemented an IR 
(4-bit) register and IDCODE (32-bit). IDCODE is being set to x"deadbeef", and it
correctly shows up on OpenOCD (the board used below is only for connection 
testing)

$ openocd -f interface/remote-bitbang.cfg -f board/zy1000.cfg
Open On-Chip Debugger 0.6.0-dev-00293-gc132304-dirty (2012-01-03-10:57)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
Warn : Adapter driver 'remote_bitbang' did not declare which transports it 
allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
srst_only srst_pulls_trst srst_gates_jtag srst_open_drain
fast memory access is enabled
dcc downloads are enabled
16000 kHz
production_test
Info : Initializing remote_bitbang driver
Info : Connecting to localhost:7264
Info : remote_bitbang driver initialized
Info : clock speed 1 kHz
Info : JTAG tap: zy1000.cpu tap/device found: 0xdeadbeef (mfg: 0x777, part: 
0xeadb, ver: 0xd)
Warn : JTAG tap: zy1000.cpu       UNEXPECTED: 0xdeadbeef (mfg: 0x777, part: 
0xeadb, ver: 0xd)
Error: JTAG tap: zy1000.cpu  expected 1 of 1: 0x1f0f0f0f (mfg: 0x787, part: 
0xf0f0, ver: 0x1)

Now, I'd really would like some help about where to look for CPU/BOARD/JTAG 
definitions, in order to start the real work.

PS: If anyone is interested on this OpenOCD->remote bitbang->GHDL->JTAG please 
let me know.

Best,
Álvaro

Álvaro Lopes wrote:
> Hi list,
> 
> I'm currently implementing a test interface/ICE for ZPU-based processor, and 
> I wish to add support in OpenOCD for it, and I have no clue where to start ;)
> 
> Right now what I have is:
> 
>       a) Full GCC and GDB implementation working.
>       b) CPU support for debug mode, opcode injection, register/state 
> inspection, single-stepping and soft breakpoints.
> 
> Other thing I might need is to cascade JTAG interfaces. On some FPGA you have 
> access to some boundary-scan elements, which allows you to kinda use the same 
> JTAG
> interface as the FPGA itself to debug the on-chip logic, in order to reduce 
> overhead. So what I need is to actually put a JTAG adaptor accessing another 
> JTAG
> adaptor, which itself accesses the CPU.
> For Xilinx FPGA, which have 2 user-configurable chains, I use the first one 
> as an instruction register, and the second one as the data register. One can 
> emulate
> a typical TAP with these two chains.
> 
> Adding the controller for these chains is easy, but requires it to be 
> connected to the main JTAG adaptor.
> 
> It's hard for me not to have this kind of controller, for I don't actually 
> have a JTAG cable (although I could use a FTDI2232 interface if needed).
> 
> Any help about the two items would be very welcomed.
> 
> Best,
> Álvaro Lopes
> 

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to