Re: [Openocd-development] arm1136 scripts

2010-06-14 Thread michal smulski
Here is a patch to fix a startup in C100 (arm1136). Basically make sure that UART is configured before using it. Michal diff --git a/tcl/target/c100helper.tcl b/tcl/target/c100helper.tcl index 477fe5c..2a12c36 100644 --- a/tcl/target/c100helper.tcl +++ b/tcl/target/c100helper.tcl @@ -469,11 +469,

Re: [Openocd-development] arm11 seems to be broken again

2010-04-23 Thread michal smulski
Attached is the patch to get arm11 on telo scripts working again with the latest openocd code. I also included a patch for fixing adapter_nsrst_assert_width. Without it, I can't really use srst signal. Michal On Thu, 2010-04-22 at 07:20 +0200, Øyvind Harboe wrote: > On Thu, Apr 22, 2010 at 4:19

[Openocd-development] [Re: arm11 seems to be broken again]

2010-04-21 Thread michal smulski
hip before the u-boot code [that causes later the data fault when flash write] executes. One possibility is that 'flash write+memwrite code' leaves some state altered and that somehow interacts with u-boot and causes the problem described below. Unfortunately, I don't know enough ab

[Openocd-development] load_image

2010-04-20 Thread michal smulski
Here is updated patch. Michal diff --git a/doc/openocd.texi b/doc/openocd.texi index 5273d5d..cfba79f 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -5671,10 +5671,20 @@ separately. @end deffn @anchor{load_image} -...@deffn Command {load_image} filename address [...@option{bin}|@opt

Re: [Openocd-development] patching load_image command

2010-04-15 Thread michal smulski
Here is the patch for openocd.texi for load_image as requested. Michal On Wed, 2010-04-14 at 07:40 +0200, Øyvind Harboe wrote: > > Perhaps adding this to openocd docs will help others. > > I would think that adding a command > > 'load_image_bin filename address length file_offset' would be helpful

Re: [Openocd-development] patching load_image command

2010-04-13 Thread michal smulski
Øyvind, Here is the current help on load_image (from the openocd website). >>Command: load_image filename address [bin|ihex|elf] Load image from file filename to target memory at address. The file format may optionally be specified (bin, ihex, or elf) And here are some of

[Openocd-development] arm11 seems to be broken again

2010-04-13 Thread michal smulski
It seems that arm11 in openocd is broken. 1. mrc/mcr are not working (try executing mcr/mrc commands in c100helper.tcl). 2. memwrite burst is not working, see log below. Looks like a data fault during execution. When memwrite burst works it gives DSCR=6006, when it is broken DSCR=605a. This bug

[Openocd-development] patching load_image command

2010-04-07 Thread michal smulski
Here is a patch that adds file_offset to load_image command. This allows loading 'bin' regions that do not start at 0x0 file offset. I use this to create a simple flash driver in tcl. It load chunks of the bin file to memory and burn them to flash. This is saved me a quite a bit of time as I did

Re: [Openocd-development] arm966e cp15 question

2010-03-26 Thread michal smulski
> version Open On-Chip Debugger 0.5.0-dev-00139-ga092e8d (2010-03-26-10:20) > arm966e cp15 0 0: 0955b700 > arm mrc 15 0 0 0 0 arm966e doesn't implement MRC Michal On Fri, 2010-03-26 at 07:19 +0100, Øyvind Harboe wrote: > On Fri, Mar 26, 2010 at 4:46 AM, michal

[Openocd-development] arm966e cp15 question

2010-03-25 Thread michal smulski
Have anyone tried using cp15 command on arm9 recently? Here is my attempt: mww 0x0030 0xee100f10 armv4_5 disassemble 0x0030 >0x0030 0xee100f10 MRC p15, 0x00, r0, c0, c0, 0x00 reg pc 0x0030 step reg r0 >r0 (/32): 0x41059680 # implementor: 0x41 # architecture: 0x05 (ARM

Re: [Openocd-development] Openocd-development Digest, Vol 42, Issue 62

2010-03-25 Thread michal smulski
ncy problem - workaround - solution (David Brownell) >3. Re: ST-Link with OpenOCD? (simon qian) >4. load_image question (michal smulski) >5. Re: load_image question (Freddie Chopin) >6. Re: xds100v2 (Michael Schwingen) >7. [SWD] STM32Primer2 JTAG/SWD + RLink pinout +

[Openocd-development] load_image question

2010-03-24 Thread michal smulski
Hi, I have an ARM IC with internal flash (512kbytes) and sram (64kbytes). I am trying to write flash via jtag. The idea is to split the image into 64kb chunks and upload them via jtag one at a time to internal SRAM; then burn to flash. However, I can't seem to find an appropriate openocd command t

Re: [Openocd-development] proc jtag_init {}

2009-10-19 Thread michal smulski
Here is a set of commands that reproduces my problem. While I agree with David about -c and -f bug, this is a different one. # Ubuntu 9.04 git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd cd ./openocd ./bootstrap ./configure --enable-maintainer-mode --enable-dummy make cd src #

Re: [Openocd-development] arm11 srst behavior

2009-10-19 Thread michal smulski
The same sequence works on my arm1136. However, when you put a scope to SRST signal you will find out that it is actually high (ie not asserted). At least this is what I found on my setup (with olimex) On Tue, 2009-10-13 at 23:07 -0700, David Brownell wrote: > On Tuesday 13 October 2009, mic

Re: [Openocd-development] proc jtag_init {}

2009-10-19 Thread michal smulski
Updated to the latest (git describe): 0.2.0-387-g3b95d0e No difference in the behavior. I did notice that if I run this: proc jtag_init {} { jtag arp_init-reset } It works (ie, initial scan chain works). However this: proc jtag_init {} { #Make sure we reset the hardware before we talk

Re: [Openocd-development] proc jtag_init {}

2009-10-18 Thread michal smulski
I attached telo.cfg that I used for testing with the dummy driver. 'hangs.log' is with the reset_init and nohang.log is with that procedure removed. It looks like the openocd does not hang but rather skips the initial scan when reset_init exits. The result is similar to the user as I can't access

Re: [Openocd-development] proc jtag_init {}

2009-10-17 Thread michal smulski
How do I add 'dummy' interface to openocd? $ ./openocd -c "interface dummy" Open On-Chip Debugger 0.3.0-dev-00355-g9aab763 (2009-10-12-14:15) $URL$ For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Error: The specified JTAG interface was not found (dummy) The following

[Openocd-development] proc jtag_init {}

2009-10-16 Thread michal smulski
I tried to use jtag_init {} but it freezes my system (arm11). openocd recognizes my jtag dongle but it does not show jtag chain. If jtag_init {} is empty, openocd works. As soon as I put something there (such as 'puts 'hello world') it freezes. I am running at this revision: commit 9aab763fa555f0

Re: [Openocd-development] arm11 srst behavior

2009-10-13 Thread michal smulski
arm11 has a bug in that you cannot at the same time assert srst to the arm11 core and access its JTAG logic. Asserting srst will disable TAP logic. My guess is that flops' reset pin in JTAG core are connected to srst. It is unclear to me how long you have to wait after reset before accessing JT

Re: [Openocd-development] srst state on init again

2009-10-05 Thread michal smulski
Here is the patch on jtag_reset_on_init (again). This fixes the problem with Olimex dongle (on power-on it drives srst low) but will also fix libftd2xx.so library (asserts srst for > 250ms). On Thu, 2009-10-01 at 07:32 +0200, Øyvind Harboe wrote: > > 1. put reset_on_init patch that I submitted

[Openocd-development] srst state on init again

2009-09-30 Thread michal smulski
There is one more problem with reset handling during init. for ft2232 chips [at least on Olimex dongle]. When you first plug-in the Olimex dongle to USB port it drives srst signal low. This cause failure (see output below) during initial openocd JTAG scan. It only fails on the first try. All later

[Openocd-development] updated scripts for c100 - arm1136 core

2009-09-29 Thread michal smulski
Updates that make the reset work on these boards. Please update to the svn tree. # board(-config) specfic parameters file. # set CFG_REFCLKFREQ [configC100 CFG_REFCLKFREQ] proc config {label} { return [dict get [configC100] $label ] } # show the value for the param. with label proc showco

Re: [Openocd-development] srst pulls trst bug in ft2232

2009-09-28 Thread michal smulski
I confirm that, with those fixes in ft2232, openocd no longer locks-up with libftdi (checked on rev.2767). Also libftdi does not touch srst or trst so I will be switching to that library. What would it take to get the reset width config into the main svn tree? jtag_nsrst_assert_width jtag_ntrst_as

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-24 Thread michal smulski
This patch (it includes Øyvind's previous patch) fixes my problems with reset. By default it will do nothing so it should not affect anybody. I added [optional] reset before running jtag_init_inner(). Is there a chance to commit this to svn tree? --Michal On Thu, 2009-09-24 at 00:28 +0200, Mich

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-23 Thread michal smulski
Most of the cheap ft2232 devices probably do not have sense circuit on SRST. Actually, I would like to have Vcc sense circuit on my Olimex board but it is a different topic. For most users, it is enough to be able to call reset routine defined by reset_config. It most cases (I think) the user will

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-22 Thread michal smulski
On Tue, 2009-09-22 at 17:59 -0700, David Brownell wrote: > On Tuesday 22 September 2009, michal smulski wrote: > > The offending code is called from this function: > > static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* > > try_more) > > > >

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-22 Thread michal smulski
se or something similar. On Wed, 2009-09-23 at 07:26 +0200, Øyvind Harboe wrote: > On Wed, Sep 23, 2009 at 1:30 AM, michal smulski > wrote: > > > > The offending code is called from this function: > > static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, i

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-22 Thread michal smulski
The offending code is called from this function: static int ft2232_init_ftd2xx(uint16_t vid, uint16_t pid, int more, int* try_more) And the actual function call is here: status = FT_OpenEx(openex_string, openex_flags, &ftdih); ftd2xx is a closed source library. However, openocd should not rely o

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-21 Thread michal smulski
I checked out r2726 and applied the patch. It works great during 'reset halt/init/run/etc' but again does not do anything for initial JTAG scan. I hooked up scope to the srst and trst to see how the jtag controller drives those signals. For the initial reset (before first JTAG scan) I get about 1

Re: [Openocd-development] arm1136/signalyzer problem from revision 2047

2009-09-18 Thread michal smulski
I wonder why that bug does not show on arm1136 on my system and breaks for other people (i.MX35)? On Fri, 2009-09-18 at 13:28 +0200, Øyvind Harboe wrote: > > Any suggestions? > > The problem has to do with end state. > > In 2046 there was a global variable that subtly tracked > what the end s

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-17 Thread michal smulski
Neither of these methods apply to the initial jtag scan. At least not on olimex dongle that I use. I added this to my config $_TARGETNAME configure -event reset-assert-post { puts "Assering reset" sleep 1 } This does not get executed on the inital jtag scan: Info : Disabled memory write

Re: [Openocd-development] svn 1825 breaks arm1136 burst mode

2009-09-16 Thread michal smulski
Here is a patch against r2715 that makes the arm11 memwrite burst work again with Olimex JTAG. As far I can see in the code, the original ft2232_add_pathmove() function was split into two ft2232_add_pathmove & clock_tms(). I think that clock_tms() is working ok as it is used elsewhere. So the bug

Re: [Openocd-development] svn 1825 breaks arm1136 burst mode

2009-09-15 Thread michal smulski
'tms_sequence long' is not a valid command on r1824 or r1825. On r2709 produces error during burst write. Is there anything else I can try? --Michal On Tue, 2009-09-15 at 09:55 +0200, Magnus Lundin wrote: > Øyvind Harboe wrote: > > On Tue, Sep 15, 2009 at 6:18 AM, michal

Re: [Openocd-development] JTAG controllers disabled while SRST is asserted

2009-09-14 Thread michal smulski
If you are modifying srst behavior can you add functionality so that I can define how long is the srst reset as well as how long after srst pulse JTAG controller waits before initiating scan? On Mon, 2009-09-14 at 20:35 +0200, Øyvind Harboe wrote: > On Mon, Sep 14, 2009 at 7:42 PM, David Brownel

Re: [Openocd-development] arm1136 download problems & performance

2009-09-13 Thread michal smulski
> Did you also double check that 1822 breaks? > r1822 is broken without any mods. I did not try adding usleep() here but double-checked that it fails on memburst. > The burst code is executing two instructions to increment the pointer. Perhaps > the second instruction is getting executed twic

Re: [Openocd-development] arm1136 download problems & performance

2009-09-13 Thread michal smulski
It does seem that this is a timing issue. However adding various usleep() around jtag.c and arm11_dbtap.c file does not produce errors on r1817. Also increasing TAP_IDLE's does not break the code. It might be more productive to capture some of the data going to ft2232 interface. Is there a simple

Re: [Openocd-development] arm1136 download problems & performance

2009-09-12 Thread michal smulski
Ok, Here is the script I run on various builds (svn 1504 - 1900) init halt reset init memwrite burst enable load_image ./images/test.bin 0x8000 bin verify_image ./images/test.bin 0x8000 bin exit Here are some results: # svn 1600 #downloaded 88 byte in 0.008575s #verified 88 bytes in 0.

Re: [Openocd-development] arm1136 download problems & performance

2009-09-12 Thread michal smulski
No, the addresses with 0x0 do not get touched/written. I tested this by first writing 'beefcafe' to all DDR2 memory addresses and then loading image 'load_image' The 'beefcafe' was there on every other address like 0x0 in the previous test. Michal On Sat, 2009-09-12 at 10:53 +0200, Øyvind Harboe w

Re: [Openocd-development] arm1136 download problems & performance

2009-09-11 Thread michal smulski
ep 11, 2009 at 8:22 AM, Øyvind Harboe > wrote: > > On Fri, Sep 11, 2009 at 6:54 AM, michal smulski > > wrote: > >> > >> Attached: > >> 1. debug output for load_image without and with memburst write on > >> arm1136. See the slow load time on

Re: [Openocd-development] arm1136 scripts

2009-09-10 Thread michal smulski
I can see there is run_algorithm implemented in arm11.c. Can you give me some pointers on what needs to be added/changed? I can take a stab at this. Note that I see a really slow times for coping uboot to DDR memory (load_image). Is this expected as well? If I turn on burst writes, things go mu

Re: [Openocd-development] [Fwd: tcl questions.]

2009-08-31 Thread michal smulski
When I run this code: set CONFIG_SYS_HZ_CLOCK16500 global CONFIG_SYS_HZ_CLOCK proc showAmbaPLL {} { global CONFIG_SYS_HZ_CLOCK puts [format "CONFIG_SYS_HZ_CLOCK %d" $CONFIG_SYS_HZ_CLOCK] } I get this message: Runtime error, file "t.tcl", line 198: can't read "

[Openocd-development] [Fwd: tcl questions.]

2009-08-30 Thread michal smulski
I have a couple questions about tcl: 1. How do you make variables defined as global (see c100regs.tcl & c100helper.tcl) visible in procedures? I would like to reuse defines in c100regs.tcl. Otherwise, I need to define them every time I want to use them. I tried 'global' but it does not work. 2. H

Re: [Openocd-development] arm11 hangs jtag scan if there is no valid image in boot flash

2009-08-22 Thread michal smulski
AM, michal smulski > wrote: > > > > When I erase flash from which arm11 boot, I can no longer attach to JTAG > > port of the the arm11. I can still scan-out the the two cores but then > > jtag_validate_chain() reports errors (see debug output). > > > > With a

Re: [Openocd-development] Is 16-bit access broken on arm11?

2009-08-10 Thread michal smulski
Hi, I attached the config files that I use to setup openocd. It would be great if they made into openocd svn tree. The big problem with openocd & c100 right now is that I can't use it when the boot sector (NOR 1st sector) is blank. openocd scans the JTAG chain and correctly detects both ARM11 cor

[Openocd-development] arm11 hangs jtag scan if there is no valid image in boot flash

2009-08-04 Thread michal smulski
When I erase flash from which arm11 boot, I can no longer attach to JTAG port of the the arm11. I can still scan-out the the two cores but then jtag_validate_chain() reports errors (see debug output). With a valid image (that basically set plls, ddr, not etc.) I can attach to the arm11 via JTAG.

Re: [Openocd-development] Is 16-bit access broken on arm11?

2009-08-04 Thread michal smulski
And here is the bug to get 'flash probe 0' working (arm11.c, arm11_write_memory(): -memcpy(&value, buffer + count * sizeof(uint16_t), sizeof(uint16_t)); +memcpy(&value, buffer + i * sizeof(uint16_t), sizeof(uint16_t)); --Michal On Tue, 2009-08-04 at 11:06 -0700, michal sm

Re: [Openocd-development] Is 16-bit access broken on arm11?

2009-08-04 Thread michal smulski
The bug is as follows (arm11.c): -memcpy(buffer + count * sizeof(uint16_t), &svalue, sizeof(uint16_t)); +memcpy(buffer + i * sizeof(uint16_t), &svalue, sizeof(uint16_t)); --Michal On Mon, 2009-08-03 at 15:45 -0700, michal smulski wrote: > Little-endian mode. I can correctly acces

Re: [Openocd-development] Is 16-bit access broken on arm11?

2009-08-03 Thread michal smulski
Attached is my config file. --Michal On Tue, 2009-08-04 at 00:08 +0200, Michael Schwingen wrote: > michal smulski wrote: > > I am using C100 (Mindspeed ARM11 dual core). I can correctly access > > DDR2 and 16 bit flash on it via 8-bit and 32-bit commands (mdb,mdw) but > >

[Openocd-development] Is 16-bit access broken on arm11?

2009-08-03 Thread michal smulski
I am using C100 (Mindspeed ARM11 dual core). I can correctly access DDR2 and 16 bit flash on it via 8-bit and 32-bit commands (mdb,mdw) but not 16-bit access. I discovered this by trying to do 'flash probe 0' and it returned 0. I then looked through code and noticed that flash control/info is ac