Re: [Openocd-development] my tech proposal

2009-04-22 Thread Nico Coesel
Zach,
There are a few things missing on your list which I think are important:

- Coldfire support (which is basically an enhanced 68000 core) would be
nice. There is no open source solution out there to program Coldfire
controllers which is a shame because the Coldfire controllers are
actually quite nice and reasonably priced. Freescale thinks their
customers should use Codewarrior or take their business somewhere else.
- Completing ARM Cortex A8 support.

I see CFI is on your list as well. I have a slightly improved version of
cfi.c which some speed enhancements. Shall I mail it to you to have a
look at it? I agree the cfi code is not very clean; a lot of code which
basically does the same is duplicated.  Also the bus width / chip width
handling is not fully implemented yet. IMHO vendor specific code could
be just a bunch of functions called through function pointers from
cfi.c.

I just hope people are not put off by the high frequency of changes
which causes their patches to fail. I think its best to concentrate on
one area at a time and finish it first before moving to another area.
This reduces the chance two (or more) people are working on the same
code.

Nico Coesel

 -Oorspronkelijk bericht-
 Van: openocd-development-boun...@lists.berlios.de 
 [mailto:openocd-development-boun...@lists.berlios.de] Namens 
 Zach Welch
 Verzonden: woensdag 22 april 2009 4:56
 Aan: Openocd-Dev
 Onderwerp: [Openocd-development] my tech proposal
 
 Hi all,
 
 This message follows my sentiments about the human side of 
 OpenOCD with a more technically focused perspective.
 
 First off: if you had conflicts that prevent a clean 'svn 
 diff' patch, you should be able to copy your original 
 pre-merged files (the .mine
 files) into a fresh working copy of the older revision (along 
 with changes to any other files that did merge okay) and 
 extract the clean patch therein.  Let me know if this advice 
 is not as helpful as I think it should be; if all else fails, 
 send me your entire working copy and I will deal with the 
 mess that I caused.
 
 Anyway, here is my current list of outstanding tasks, where 
 '+' items have a current patch and '-' items do not.  This is 
 not a milestone task list; I am leaving that as someone 
 else's responsibility.
 
 * FT2232 driver:
   + integrate FTD2XX High-Speed Device Patch (Joern Kaipf + ZW)
   +? remove non-A types (Uwe Hermann) (does this patch still apply?)
   - fix segfault from long scan chains (observed by Dick Hollenbeck)
   - fix non-recoverability of cable connect/reconnect
   - cure buggy madness (others might try to break this into pieces)
 
 * J-Link driver (w/ yellow hardware)
   - integrate Jeff and Duane's pending changes
   - cure buggy madness (this is my own poorly qualified TODO item)
   - test on known targets
 
 * MC1322x target support
   - integrate and test support from Jeff and Duane
   - get working with a known good interface (i.e. not today's jlink)
 
 * TAP changes:
   - use tap_set_state everywhere to allow logging TAP state 
 transitions
   - add new TAP state table provided by Jeff Williams
   - update tap_get_tms_path API as suggested by Duane Ellis
 - slow boat: add tap_get_tms_path2 and allow both for a while
 - convert drivers that use old API over to the new one
 - remove old tap_get_tms_path
   - other changes work picking out of Jeff/Duane's patches
   
 * CFI:
   - factor vendor-specific code into separate source files
   - investigate adding new interface to those bits?
 
 * Architectural Upgrades
   - Allow N:M:P mapping of servers, targets, and interfaces
 
 * ARM:
   - better alignment with ARM technical documentation (Jeff W.)
 
 * Miscellaneous:
   - continue to improve state and system debugging (Jeff W.)
   - overhaul use of types to improve 32/64-bit portability
   - factor drivers to improve re-use
 
 If I do not include something important to you, it was not 
 intentional; simply follow-up with a your items and I will 
 add them to the next version.  I am not interested in keep 
 track of what goes in (the repo log does that), so I will 
 simply drop items when that happens for them.
 
 I hope that -- by maintaining this list and posting it here 
 -- everyone will take away the idea that I care about the 
 project's architecture.
 I seriously considered writing a competing implementation, 
 because I _knew_ there would be this kind of resistance to change.
 
 I see the potential massive changes that would benefit the 
 system, such as the list item for OpenOCD to allow 
 heterogeneous configurations of servers, targets, and 
 interfaces (N:M:P).  Admittedly, this was suggested by others 
 recently (though I can't find the exact thread at the 
 moment), but it is the kind of task that I might find entertaining.
 I see other potential in the code, but I still have not been 
 able to get my head around the nature of everything needs to 
 be done.  There a lot.
 
 If I could afford to play in this sandbox

Re: [Openocd-development] my tech proposal

2009-04-22 Thread Xiaofan Chen
On Wed, Apr 22, 2009 at 5:33 PM, Zach Welch z...@superlucidity.net wrote:
 These will appear in the next revision of my list.  I have been thinking
 about what I want my next hobby board to be, and the Cortex A8 has
 been one possible choice.  [[I am now hoping a board vendor reads this,
 recognizes their opportunity, and drops one in the mail to me. ;) ]]

 How much of the Coldfire support would need to be reverse-engineered?
 With specifications and hardware, half of the battle will have already
 been won, but the lack of an open source solution makes me guess
 unencumbered references are unavailable.  Posting links to references
 would help plant seed for others to pick this up and run with it.


Not so sure if this one is good enough.
http://bdm.sourceforge.net/

-- 
Xiaofan http://mcuee.blogspot.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Zach Welch
On Wed, 2009-04-22 at 17:43 +0800, Xiaofan Chen wrote:
 On Wed, Apr 22, 2009 at 5:33 PM, Zach Welch z...@superlucidity.net wrote:
  These will appear in the next revision of my list.  I have been thinking
  about what I want my next hobby board to be, and the Cortex A8 has
  been one possible choice.  [[I am now hoping a board vendor reads this,
  recognizes their opportunity, and drops one in the mail to me. ;) ]]
 
  How much of the Coldfire support would need to be reverse-engineered?
  With specifications and hardware, half of the battle will have already
  been won, but the lack of an open source solution makes me guess
  unencumbered references are unavailable.  Posting links to references
  would help plant seed for others to pick this up and run with it.
 
 
 Not so sure if this one is good enough.
 http://bdm.sourceforge.net/

Me neither, but it looks like anyone wanting to give this a whack would
be wise to check in with that community and look over their code.

Cheers,

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


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Zach Welch
On Wed, 2009-04-22 at 08:04 +0200, Øyvind Harboe wrote:
 Great posting! Can I suggest that you create this as a patch against
 svn so we can match up the todo.txt list against an actual version of
 the OpenOCD svn history?

Can't I simply claim that it's on The List? ;)   I definitely agree that
I should be providing the revision number, but I have evolved the idea
that TODO files inside repositories get treated the same way as other
files do: people fear change.  They become monumental testimonies to the
good intentions of the ambitious.  I know; I've written my fair share.

Instead, I am hoping that it can serve more to guide contributors into
regular project management discussions.  Patches would hide all but the
latest activity, and I want people to be reminded and energized by the
web of goals that lurk behind the daily grind.  The List will give a
complete picture of the activities reported and pending; it only needs
be reposted after sufficient changes have taken place.

Ideally, folks will start to volunteer to cherry-pick tasks off of it.
I think we will see more of that if it gets posted regularly; it should
clearly be a fresh artifact and contain items that we really intend to
carry forward.  Since I am volunteering to take on this challenge of
trying to herd cats in this manner, I hope the community is willing to
embrace this idea for a time (or give me a better alternative).

Project management can be tricky.  I am still trying to get it right,
and -- though I may screw up often -- I hope my effort is appreciated.
In that vein, thanks to you and all others that have been supportive.
I live, I learn, and I try to improve.

 W.r.t. churn, I think it would be helpful, as you do, to try to get
 a lot of those warning fixes out of the way so that at least the
 overall codebase is a bit more stable and then hopefully the
 churn is localized to a set of files at any one time.

I think that we have passed the warning fixes stage at this point,
with -Werror surviving intact.  I might be wrong and some corner cases
remain to be reported, but I believe the community has chimed in on the
problems for all of the major ones.  Fixes are in tree for all of them,
as far as I am aware.  [[New bugs are another thing, as the recent post
from Andy Chenee shows.  Sorry about that one.]]

At this point, the use of -Werror will keep us from having to go through
that particular flavor of pain again, so things should only get better.

  * Architectural Upgrades
   - Allow N:M:P mapping of servers, targets, and interfaces
 
 - About CFI:
 
 I'd like to see if the ecosflash driver could not be used to take
 a CFI driver from e.g. eCos and use that in OpenOCD. The
 current OpenOCD CFI driver is fine, such as it is, but e.g.
 eCos CFI drivers are getting a *LOT* of testing from a much
 bigger community.

Added, though you will need to check that I interpreted you correctly.

 - New targets?

Any that you have in mind?  Coldfire and Cortex are on thanks to Nico.
MC1322x from Jeff.  I have added an insert your target here item.

Cheers,

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


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Øyvind Harboe
 - New targets?

 Any that you have in mind?  Coldfire and Cortex are on thanks to Nico.
 MC1322x from Jeff.  I have added an insert your target here item.

arm11 has a lot of support already, but could need more love...




-- 
Øyvind Harboe
Embedded software and hardware consulting services
http://consulting.zylin.com
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Zach Welch
On Wed, 2009-04-22 at 12:59 +0200, Nico Coesel wrote:
[snip]
 I looked at the BDM project Xiaofan posted. It seems like a good
 starting point. It also has routines for external flash. Maybe its worth
 to look into it to get some fresh ideas on the cfi implementation as
 well. I used to have a Coldfire board but we returned it because of the
 lack of proper hardware programming tools (Codesourcery has a complete
 GCC kit for Coldfire).

If someone has Coldfire hardware, I bet the community would be willing
to work with them to get it going, but it would be a lot of work.
However, that gets me wondering of opportunities to wrangle up some kind
of sponsorship for the bootstrapping phase (e.g. Google Summer of Code).
Food for communal thought.

[snip]
 Okay, I've attached a patch to cfi.c to this e-mail. Note this is a work
 in progress. It works for my situation though (Spansion flash). The
 major change I made is adding cfi_spansion_wait_write and calling
 keep_alive to avoid the usleep when calling alive_sleep(1). Sleeping the
 CPU during erase is fine, but not during programming. This still needs
 masking (bus width) and perhaps checking endianess.

Thanks!  Since I do not have CFI hardware on hand, I must leave it up to
others to review and either commit or provide feedback, but I will keep
this topic on my radar.

Cheers,

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


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Zach Welch
On Wed, 2009-04-22 at 13:00 +0200, Øyvind Harboe wrote:
  - New targets?
 
  Any that you have in mind?  Coldfire and Cortex are on thanks to Nico.
  MC1322x from Jeff.  I have added an insert your target here item.
 
 arm11 has a lot of support already, but could need more love...

Can you elaborate need more love into bullet points?  :)

If not, it might help to CC those who can in the hope to solicit further
details for the community to consider.  I suppose that goes for anyone
else that you know has things they want done, as having lots of easy
tasks is a great path for new developers to get started with the code.  

While I was able to make my own list, others are not as foolhardy.
To help frame further discussion, I will repost The List shortly.

Cheers,

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


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Mariano Alvira
On Tue, Apr 21, 2009 at 07:55:46PM -0700, Zach Welch wrote:
 
 * MC1322x target support
   - integrate and test support from Jeff and Duane
   - get working with a known good interface (i.e. not today's jlink)
 

I plan to be working on this (hi everyone. I haven't posted yet, but
have been listening). I've been working on supporting the mc1322x with
open tools for about a month now. It sounds like the problems are
coming from the following sources:

- Jlink
- ARM/THUMB switches
- and the mc1322x

Does that sound about right?

I'm waiting for some FTDI based hardware (since today's jlink is out)
so I won't be able to make any progress until then (or until
tomorrow's jlink arrives).

I'm going to put my openocd work up on mc1322x.devl.org (along with
all my other stuff). I plan to use jeff's patches as a starting point.

Is there anyone else on this list (besides jeffw) working with the
mc1322x?

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


Re: [Openocd-development] my tech proposal

2009-04-22 Thread Rick Altherr


On Apr 22, 2009, at 10:24 AM, Mariano Alvira wrote:


On Wed, Apr 22, 2009 at 10:19:06AM -0700, Rick Altherr wrote:


Can we just open a branch in the main OpenOCD repo instead?  Having
separate repos just make it more difficult to track things down and  
do

merges.



I think git makes this easy. This way you can do your thing and I can
do mine. When I have something valuable to you guys I'll submit a
patch.

-Mar.



git makes the merging easier, but there is still the people problem of  
finding the development branch to try it out.


--
Rick Altherr
kc8...@kc8apf.net

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