Xiaofan Chen wrote:
> For version 0.5.0, the following two commands work and I use only
> either of them.
> openocd.exe -f board\ek-lm3s1968.cfg
> openocd.exe -f board/ek-lm3s1968.cfg
> 
> For latest git, none of the following commands work.
> openocd.exe -f board\ek-lm3s1968.cfg
> openocd.exe -f board/ek-lm3s1968.cfg

The first is understandable, but the second not working may be a real
problem.


> Example running log.

When looking for string parsing errors it's critical that every byte
of log output is unchanged. I think some lines were wrapped in the
email, most likely by some email software. This makes debugging
impossible. Perhaps you can direct output to a text file and attach
it to an email?


> C:\work\openocd\binary\bin>openocd.exe -f board//ek-lm3s1968.cfg
> Open On-Chip Debugger 0.6.0-dev-snapshot (2011-10-21-21:26)
> Licensed under GNU GPL v2
> For bug reports, read
>         http://openocd.sourceforge.net/doc/doxygen/bugs.html
> Runtime Error: embedded:startup.tcl:58: couldn't read file 
> "C:workopenocinarin..
> /board//ek-lm3s1968.cfg": No such file or directory
> in procedure 'script'
> at file "embedded:startup.tcl", line 58

So the commit that broke this is probably

commit a62d8f2271312ba955e839509590f5a5975b1b49
Author: Steve Bennett <ste...@workware.net.au>
Date:   Thu Aug 11 12:10:54 2011 +1000

    Evaluate 'script' in the global scope
    
    Scripts sourced via 'script' should evaluate in the global
    scope to make it easy to set and reference global variables.
    
    Signed-off-by: Steve Bennett <ste...@workware.net.au>


You could test by running:

git checkout -b beforesuspect a62d8f22^

In the git dir. This creates a branch called beforesuspect which
points to the commit preceding Steve's. Then build as usual. (make
distclean or so.)

If you then want to test that this commit created the problem then
you can run:

git checkout -b suspect a62d8f22

Which creates a branch called suspect, that points to Steve's commit.

Clean and build again.

When done, go back to the master branch, and clean up the temporary
ones:

git checkout master
git branch -d beforesuspect
git branch -d suspect


> > Double backslash seems to fix it.
> 
> That helps. The following commands work.
> openocd.exe -f ..\\board\\ek-lm3s1968.cfg

I guess the uplevel makes the parameter be evaluated by the
interpreter, meaning that all \ is unescaped.


> openocd.exe -f ..//board//ek-lm3s1968.cfg
> 
> The following command also works.
> openocd.exe -f ../board/ek-lm3s1968.cfg

So there are two differences in behavior versus 0.5:

1. \ in -f parameters get evaluated one time extra by Jim tcl
2. paths in -f parameters are now relative to a different directory,
   one level down from previously

2. is most likely caused by another commit.


//Peter
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to