Re: [Openocd-development] SRST TRST have to be buffered?

2011-07-08 Thread Laurent Gauch
Hello! I'm trying to embed a FT2232D based programmer into my board with a STM32 (Cortex-M3 MCU). I want the programmer to be compatible with jtagkey, so I looked at schematics of compaible designs. I noticed that while the JTAG signals (TCK, TDI, TDO, TMS) are only buffered when

[Openocd-development] Out of the office

2011-07-08 Thread Øyvind Harboe
I'll be out of the office end of July. This is roughly when the release will be cut anyway, so no changes is probably good :-) -- Øyvind Harboe - Can Zylin Consulting help on your project? US toll free 1-866-980-3434 / International +47 51 87 40 27 http://www.zylin.com/

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
On Fri, Jul 8, 2011 at 11:43 AM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Thu, Jul 7, 2011 at 11:58 AM, Øyvind Harboe oyvind.har...@zylin.com wrote: Note that this problem has cropped up many places over the OpenOCD code. I'd like to get rid of it once and for all I

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 11:47 AM, Øyvind Harboe oyvind.har...@zylin.com wrote: On Fri, Jul 8, 2011 at 11:43 AM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Thu, Jul 7, 2011 at 11:58 AM, Øyvind Harboe oyvind.har...@zylin.com wrote: Note that this problem has cropped up many places

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Thu, Jul 7, 2011 at 11:52 AM, Øyvind Harboe oyvind.har...@zylin.com wrote: 011/7/7 Mahr, Stefan stefan.m...@sphairon.com: Øyvind Harboe wrote: It is not obvious at all from the context that there is an alignment guarantee. If alignment is not guaranteed, casting from uint32 to void would

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
There is no particular need to cast this into uint8_t* and this can be kept as a void*. Would that suppress the warnings ? It does look like this code is using uint8_t * in lieu of void *... I think it would suppress the warnings, yes. -- Øyvind Harboe - Can Zylin Consulting help on your

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
On Fri, Jul 8, 2011 at 12:31 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Fri, Jul 8, 2011 at 12:14 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: There is no particular need to cast this into uint8_t* and this can be kept as a void*. Would that suppress the warnings ? It

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 12:14 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: There is no particular need to cast this into uint8_t* and this can be kept as a void*. Would that suppress the warnings ? It does look like this code is using uint8_t * in lieu of void *... Why ? It is just an

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 12:10 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: OK, I am starting to get this... Thanks  Øyvind. But looking from to the code, I see no explicit casting uint8_t* to uint32_t in mips_pracc code. Where did you exactly run into compiler warning ? git revert

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 12:35 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: On Fri, Jul 8, 2011 at 12:31 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Fri, Jul 8, 2011 at 12:14 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: There is no particular need to cast this into

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
I still can not reproduce a problem - it buidls just fine. No warnings whatsoever. libtool: compile: nios2-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/oyvind/workspace/zy1000/build/../openocd/src/target -I../.. -I/home/oyvind/workspace/zy1000/build/../openocd/src -I../../src

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
What puzzles me is that there is no warning on x86, even if I the -Wcast-align option is there -Wcast-align Warn whenever a pointer is cast such that the required alignment of the target is increased. For example, warn if a char * is cast to an int * on machines where integers can

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 12:42 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: I still can not reproduce a problem - it buidls just fine. No warnings whatsoever. libtool: compile:  nios2-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/oyvind/workspace/zy1000/build/../openocd/src/target

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 12:52 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: What puzzles me is that there is no warning on x86, even if I the -Wcast-align option is there This kind of explains why I never saw it... BR, Drasko ___

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Wed, Jul 6, 2011 at 2:42 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: mips32_pracc_read_mem and mips32_pracc_write_mem return values (buffer[i]) are already in host endianness, so le_to_h_u32 fails on big endian hosts. I already mentioned this in previous discussions. Hi Stefan, are

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Øyvind Harboe
that casts void* buf to uint32_t*. Actually buffer is uint8_t *. The definition of target-type-read_memory is bad in that it uses uint8_t * instead of void *. Which is kinda the root of this mess. -- Øyvind Harboe - Can Zylin Consulting help on your project? US toll free 1-866-980-3434 /

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 1:13 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: that casts void* buf to uint32_t*. Actually buffer is uint8_t *. The definition of target-type-read_memory is bad in that it uses uint8_t * instead of void *. Which is kinda the root of this mess. Well, this

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
I am just wandering, would : t32 = *(uint32_t*)((void *)buffer[i]); quite the compiler ;) BR, Drasko On Fri, Jul 8, 2011 at 1:14 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Fri, Jul 8, 2011 at 1:13 PM, Øyvind Harboe oyvind.har...@zylin.com wrote: that casts void* buf to

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 12:52 PM, Øyvind Harboe oyvind.har...@zylin.comwrote: What puzzles me is that there is no warning on x86, even if I the -Wcast-align option is there -Wcast-align Warn whenever a pointer is cast such that the required alignment of the target is increased.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 1:17 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: I am just wandering, would : t32 = *(uint32_t*)((void *)buffer[i]); quite the compiler ;) Yes probably, but it would still crash on an architecture that doesn't support unaligned accesses. /Andreas

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 1:20 PM, Andreas Fritiofson andreas.fritiof...@gmail.com wrote: On Fri, Jul 8, 2011 at 1:17 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: I am just wandering, would : t32 = *(uint32_t*)((void *)buffer[i]); quite the compiler ;) Yes probably, but it would

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 1:19 PM, Andreas Fritiofson andreas.fritiof...@gmail.com wrote: I looked briefly at the memory read functions in mips32_dmaacc.c and mips32_pracc.c and it looks like the type usage is a bit confused. The difference between the *_read_mem{32,16,8} functions should only be

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
are you sure about this ? It seems to me that buffer[i] is directly filled by target, and I see no reason that it is in the host endianess... Hi Drasko, Yes I'm sure. I tested it on my big endian host platform. I do not understand the code completely, but I think it's caused by the mips

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 1:38 PM, Mahr, Stefan stefan.m...@sphairon.comwrote: are you sure about this ? It seems to me that buffer[i] is directly filled by target, and I see no reason that it is in the host endianess... Hi Drasko, Yes I'm sure. I tested it on my big endian host

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
Problem is not in the mips32_pracc.c, thought, but when you come back to mips_m4k_read_memory(), in which buf is uint8_t*. That's why the solution could be to add swapping to _mem16, _mem32 etc. and alway return uint8*. ___ Openocd-development

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
Where are those functions defined and how do they know what the target endianness is? They doesn't know the target endianness, but host endianness. It sounds a little strange to do the swapping at this low level. You need swapping when reading and comparing debug registers or send code to

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 2:05 PM, Mahr, Stefan stefan.m...@sphairon.comwrote: Where are those functions defined and how do they know what the target endianness is? They doesn't know the target endianness, but host endianness. It sounds a little strange to do the swapping at this low level.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 2:05 PM, Mahr, Stefan stefan.m...@sphairon.comwrote: Where are those functions defined and how do they know what the target endianness is? They doesn't know the target endianness, but host endianness. You can't convert between target and host endianness if you don't

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Andreas Fritiofson
On Fri, Jul 8, 2011 at 1:26 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Fri, Jul 8, 2011 at 1:19 PM, Andreas Fritiofson andreas.fritiof...@gmail.com wrote: I looked briefly at the memory read functions in mips32_dmaacc.c and mips32_pracc.c and it looks like the type usage is

Re: [Openocd-development] Windows 7 J-Link Problems

2011-07-08 Thread Eric Wetzel
On Thu, Jul 7, 2011 at 8:27 AM, Xiaofan Chen xiaof...@gmail.com wrote: On Thu, Jul 7, 2011 at 8:23 PM, Eric Wetzel thewet...@gmail.com wrote: Alright, I uninstalled libusb-win32 0.1 and installed 1.2.4.0, and installed filters for the J-Link device. Still the same result. I tried Freddie's

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 1:38 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: are you sure about this ? It seems to me that buffer[i] is directly filled by target, and I see no reason that it is in the host endianess... Hi Drasko, Yes I'm sure. I tested it on my big endian host platform.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 1:54 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: Problem is not in the mips32_pracc.c, thought, but when you come back to mips_m4k_read_memory(), in which buf is uint8_t*. That's why the solution could be to add swapping to _mem16, _mem32 etc. and alway return  

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 2:05 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: Where are those functions defined and how do they know what the target endianness is? They doesn't know the target endianness, but host endianness. It sounds a little strange to do the swapping at this low level.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 3:08 PM, Andreas Fritiofson andreas.fritiof...@gmail.com wrote: On Fri, Jul 8, 2011 at 1:26 PM, Drasko DRASKOVIC drasko.drasko...@gmail.com wrote: On Fri, Jul 8, 2011 at 1:19 PM, Andreas Fritiofson andreas.fritiof...@gmail.com wrote: I looked briefly at the memory

Re: [Openocd-development] Windows 7 J-Link Problems

2011-07-08 Thread Xiaofan Chen
On Fri, Jul 8, 2011 at 9:21 PM, Eric Wetzel thewet...@gmail.com wrote: I downloaded the oldest version available (v4.00) from the page Xiaofan provided, and downgraded the firmware. I had to reinstall my libusb filter for the J-Link, but I'm not getting the same USB read problems. Actually,

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
- buf_set_u32 and buf_get_u32 make sure that data is in host endianness Why ? Don't we want the data to be in target endianess ? You need swapping when reading and comparing debug registers or send code to MIPS CPU. Can you give the example of some of these comparisons in the source code ?

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 4:10 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: - buf_set_u32 and buf_get_u32 make sure that data is in host endianness Why ? Don't we want the data to be in target endianess ? You need swapping when reading and comparing debug registers or send code to MIPS CPU.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
Is this swap to host endianess done by buf_get_u32() in mips_ejtag_drscan_32() after the queue has been executed ? Yes, buf_get_u32() and buf_set_u32() make sure uint32 is in host endianness. ___ Openocd-development mailing list

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 2:05 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: Where are those functions defined and how do they know what the target endianness is? They doesn't know the target endianness, but host endianness. How do they convert then, when they do not know from which endianes

Re: [Openocd-development] Windows 7 J-Link Problems

2011-07-08 Thread Xiaofan Chen
On Fri, Jul 8, 2011 at 10:00 PM, Xiaofan Chen xiaof...@gmail.com wrote: On Fri, Jul 8, 2011 at 9:21 PM, Eric Wetzel thewet...@gmail.com wrote: I downloaded the oldest version available (v4.00) from the page Xiaofan provided, and downgraded the firmware. I had to reinstall my libusb filter for

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 4:23 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: Is this swap to host endianess done by buf_get_u32() in mips_ejtag_drscan_32() after the queue has been executed ? Yes, buf_get_u32() and buf_set_u32() make sure uint32 is in host endianness. OK, we are slowely

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
How do they convert then, when they do not know from which endianes to convert from ? Conversion is done from byte array of jtag chain. The endianness of MIPS EJTAG tap seems to have always the same endianness, no matter of MIPS CPU memory endianness.

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 4:30 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: How do they convert then, when they do not know from which endianes to convert from ? Conversion is done from byte array of jtag chain. How ? The endianness of MIPS EJTAG tap seems to have always the same

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Mahr, Stefan
How do they convert then, when they do not know from which endianes to convert from ? Conversion is done from byte array of jtag chain. How ? buf_get_u32 does conversion from uint8* array example: mips_ejtag_get_impcode (mips_ejtag.c) field.in_value is filled by jtag_add_dr_scan with 4

Re: [Openocd-development] SRST TRST have to be buffered?

2011-07-08 Thread Phil Fong
I'm trying to embed a FT2232D based programmer into my board with a STM32 (Cortex-M3 MCU). I want the programmer to be compatible with jtagkey, so I looked at schematics of compaible designs. I noticed that while the JTAG signals (TCK, TDI, TDO, TMS) are

Re: [Openocd-development] SRST TRST have to be buffered?

2011-07-08 Thread Matthew Lai
I see. Thanks for the clarifications! I understand the purposes of the buffers much better now. Matthew On 7/8/2011 12:50 AM, Laurent Gauch wrote: Hello! I'm trying to embed a FT2232D based programmer into my board with a STM32 (Cortex-M3 MCU). I want the programmer to be compatible with

Re: [Openocd-development] SRST TRST have to be buffered?

2011-07-08 Thread Matthew Lai
Ah! I see. I guess it's fine as long as OpenOCD either tristates or drive high the reset lines when it's not doing anything. Is that the case? Thanks! Matthew On 7/8/2011 9:51 AM, Phil Fong wrote: ** I'm

Re: [Openocd-development] MIPS target, big endian host

2011-07-08 Thread Drasko DRASKOVIC
On Fri, Jul 8, 2011 at 6:30 PM, Mahr, Stefan stefan.m...@sphairon.com wrote: How do they convert then, when they do not know from which endianes to convert from ? Conversion is done from byte array of jtag chain. How ? buf_get_u32 does conversion from uint8* array example:

Re: [Openocd-development] [PATCH] adding interface_signal and bitbang functionalities

2011-07-08 Thread Rodrigo Rosa
hi! i'm currently using the merge i made of the bitbang stuff with openocd. i'm using an FT2232H. one of the channels is a UART to a microproccesor. the other channel is set to JTAG (driven by openocd) and the extra pins on that channel (10 pins!) are being used to read status pins and handle a

Re: [Openocd-development] [PATCH] adding interface_signal and bitbang functionalities

2011-07-08 Thread Tomek CEDRO
On Fri, Jul 8, 2011 at 5:59 PM, Rodrigo Rosa rodrigorosa...@gmail.com wrote: i'm currently using the merge i made of the bitbang stuff with openocd. (..) nice work! :) Thank you Rodrigo! Nice to hear you find it useful and that its working as supposed :-) :-) I have made some small progress

[Openocd-development] Bug in target/icepick.cfg?

2011-07-08 Thread Brian Hutchinson
Hi, target/icepick.cfg from trunk that I got a few days ago has this line in it: drscan $jrc 32 [expr 0xa0002108 + ($port 24)] -endstate DRPAUSE ti_beagleboard.cfg and ti_beagleboard_xm both call icepick_c_tapenable and pass '3' as the port which I assume is IcePick C So the drscan above,

Re: [Openocd-development] [PATCH] adding interface_signal and bitbang functionalities

2011-07-08 Thread Michael Schwingen
Am 07/08/2011 08:30 PM, schrieb Tomek CEDRO: ps/2: You can make perfect one layer pcb at home using photolitography (laser printer + standard laser foil + positive 20 + cleaner + philips halogen bulb type 14552 12V/75W only requires 1 minute to create perfect mask). Still I don't know any

Re: [Openocd-development] Bug in target/icepick.cfg?

2011-07-08 Thread Brian Hutchinson
Ahh, I hate when that happens. The only way you get the result of 0x30a0002108 is when you switch off your brain and use a calculator and do a 24 while in hex mode :( Sorry. Using port '3' in my example in the OP should result in drscan using 0xa3002108. But my question still remains how do I

[Openocd-development] PCB tips and tricks

2011-07-08 Thread Tomek CEDRO
Hello Michael! :-) On Fri, Jul 8, 2011 at 8:18 PM, Michael Schwingen rincew...@discworld.dascon.de wrote: Am 07/08/2011 08:30 PM, schrieb Tomek CEDRO: (..) Still I don't know any sensible method to make drills metalization at home to produce advanced two layer pcb... maybe you guys know some

Re: [Openocd-development] PCB tips and tricks

2011-07-08 Thread Michael Schwingen
Am 07/08/2011 10:35 PM, schrieb Tomek CEDRO: Simply drill the holes and solder both sides - with a thin wire if there is no THT pin. This may be a bit painful, but works quite well if you take care during layout so that you do not place vias under parts. Yes, this is the obvious solution for

Re: [Openocd-development] PCB tips and tricks

2011-07-08 Thread Tomek CEDRO
On Fri, Jul 8, 2011 at 8:59 PM, Michael Schwingen rincew...@discworld.dascon.de wrote: Note: don't put vias *in* SMD pads - they will wick away the solder when doing automated production. Yup :-) Still, no solution/idea on how to make pads metalization at home safely... there is a clear

Re: [Openocd-development] Bug in target/icepick.cfg?

2011-07-08 Thread Eric Wetzel
On Fri, Jul 8, 2011 at 4:30 PM, Brian Hutchinson b.hutch...@gmail.com wrote: But my question still remains how do I specify port D for IcePick? Pass port 4 to icepick_c_tapenable? target/icepick.cfg from trunk that I got a few days ago has this line in it: drscan $jrc 32 [expr 0xa0002108 +

Re: [Openocd-development] PCB tips and tricks

2011-07-08 Thread Duane Ellis
This is a bit off-topic - but I'll offer this: ??? to make drills metalization at home to produce advanced two layerpcb... maybe you guys know some tricks? ??? I have not found a solution that works in a small-volume hobby setting. I really don't like messing with the Ferric Chloride

Re: [Openocd-development] SRST TRST have to be buffered?

2011-07-08 Thread Rodrigo Rosa
the srst line will be held high or low according to the interface you're using. the ADBUS on the minimodule is like the flyswatter: X X SRST X TMS TDO TDI TCK(AD7 to AD0) the minimodule inits the srst line high. srst line is ADBUS5, so that's nSRST = 0x20 if only srst is used during reset,

Re: [Openocd-development] PCB tips and tricks

2011-07-08 Thread Jim Larson
Here's yet another option: (I've used this service several times - it's just great. All details at the link.) You can also get a stencil with your order, I think, for a few bucks more. http://dorkbotpdx.org/wiki/pcb_order $5.00 per square inch, Lead free, 6mil line/space rules. Ships

[Openocd-development] Getting Error: JTAG-DP STICKY ERROR for beagleboard with 0.5.0-dev-00949-gac43d7a

2011-07-08 Thread Brian Hutchinson
Hi, I'm trying to get back up to speed with OpenOCD after being away from it for a while. I have a beagleboard and beagleboard xM that I'm using with my flyswatter to just test out my setup (new build machine etc.) and get familiar with the CortexA8 changes. Anyway, I'm seeing these STICKY