1. 12 Nov, 2009 1 commit
    • David Brownell's avatar
      ETM: remove old mid-level ETM handle · 5723e54f
      David Brownell authored
      Now that nothing uses the old ETM handle any more, remove it.
      Add minimal header tweaks, letting non-ARM7 and non-ARM9 cores
      access ETM facilities.
      Now ARM11 could support standard ETM (and ETB) access as soon as
      it derives from "struct arm" ... its scanchain 6 is used access
      the ETM, just like ARM7 and ARM9.
      The Cortex parts (both M3 and A8) will need modified access methods
      (via ETM init parameters), so they use the DAP.  Our first A8 target
      (OMAP3) needs that for both ETM and ETB, but the M3 ETM isn't very
      useful without SWO trace support (it's painfully stripped down), so
      that support won't be worth adding for a while.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
  2. 09 Nov, 2009 1 commit
    • David Brownell's avatar
      finish removing deprecated/obsolete commands · d70d9634
      David Brownell authored
      It's been about a year since these were deprecated and, in most
      cases, removed.  There's no point in carrying that documentation,
      or backwards compatibility for "jtag_device" and "jtag_speed",
      around forever.  (Or a few remnants of obsolete code...)
      Removed a few obsolete uses of "jtag_speed":
       - The Calao stuff hasn't worked since July 2008.  (Those Atmel
         targets need to work with a 32KHz core clock after reset until
         board-specific init-reset code sets up the PLL and enables a
         faster JTAg clock.)
       - Parport speed controls don't actually work (tops out at about
         1 MHz on typical HW).
       - In general, speed controls need to live in board.cfg files (or
         sometimes target.cfg files), not interface.cfg ...
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
  3. 06 Nov, 2009 3 commits
    • David Brownell's avatar
      ARM: shrink offsets · 6a0af06b
      David Brownell authored
      Move various embedded target structs to the beginnings of
      their containers ... pretty much the way C++ or Obj-C
      would for single inheritance.
      This shrinks code that accesses those embedded structs by
      letting common offsets use smaller instructions.  Sample
      before/after sizes (on amd64):
        17181	    312	      0	  17493	   4455	arm920t.o
        16810	    312	      0	  17122	   42e2	arm920t.o
      Where the "after" is the smaller number, with this patch
      over the ones leveraging that embedding knowledge.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    • David Brownell's avatar
      ARM: other code uses the new inheritance/nesting scheme · 03ac53a2
      David Brownell authored
      Remove most remaining uses of target->arch_info from ARM
      infrastructure, where it hasn't already been updated.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    • David Brownell's avatar
      target: provide container_of() · db116b1e
      David Brownell authored
      Provide a cleaner way to handle single inheritance of targets
      in C, using the same model Linux does:  structs containing other
      structs, un-nested via calls to a "container_of()" macro that
      are packaged in typesafe inline functions.
      Targets already use this containment idiom, but make it much
      more complicated because they un-nest using embedded "void *"
      pointers ... in chains of up to five per target, which is all
      pure needless complication.  (Example: arm92x core, arm9tdmi,
      arm7_9, armv4_5 ... on top of the base "target" class.)
      Applying this scheme consistently simplifies things, and gets
      rid of many error-prone untyped pointers.  It won't change any
      part of the type model though -- it just simplifies things.
      (And facilitates more cleanup later on.)
      Rule of thumb:  where there's an X->arch_info void* pointer,
      access to that pointer can and should be removed.  It may be
      convenient to set up pointers to some of the embedded structs;
      and shrink their current "*_common" names (annoyingly long).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
  4. 05 Nov, 2009 1 commit
  5. 12 Sep, 2009 1 commit
    • oharboe's avatar
      David Brownell <david-b@pacbell.net> · c993d75d
      oharboe authored
      Cleanup some the downloaded ARM target algorithm code:
       - Provide more complete disassembly of the DCC bulk write code
       - Make code blocks "static const", in case GCC doesn't
       - Fix some tabbing/layout issues
       - Make some arm7_9_common.h flags be "bool" not "int"; and compact
         the layout a bit (group most bools together)
      git-svn-id: svn://svn.berlios.de/openocd/trunk@2698 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  6. 28 Aug, 2009 1 commit
  7. 17 Jul, 2009 1 commit
  8. 18 Jun, 2009 3 commits
  9. 22 May, 2009 1 commit
  10. 11 May, 2009 1 commit
  11. 10 May, 2009 1 commit
  12. 29 Apr, 2009 1 commit
  13. 19 Apr, 2009 1 commit
  14. 13 Dec, 2008 1 commit
  15. 30 Oct, 2008 1 commit
  16. 28 Oct, 2008 1 commit
  17. 27 Oct, 2008 1 commit
  18. 20 Sep, 2008 1 commit
  19. 14 Aug, 2008 2 commits
  20. 25 Jul, 2008 1 commit
  21. 06 Jun, 2008 1 commit
  22. 27 May, 2008 1 commit
  23. 16 Apr, 2008 1 commit
  24. 24 Feb, 2008 1 commit
    • oharboe's avatar
      - fixed target->type->poll() return value · 1aa85468
      oharboe authored
      - added arch_state to show status of currently selected target
      - simplified target->type->arch_state() api.
      - clean up telnet output a bit
      - fixed GDB output for arch_state
      - removed a couple of unecessary exit()'s
      - cleaned up error propagation a bit in a few places
      git-svn-id: svn://svn.berlios.de/openocd/trunk@332 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  25. 21 Feb, 2008 1 commit
  26. 22 Oct, 2007 1 commit
  27. 10 Aug, 2007 1 commit
    • drath's avatar
      - renamed M5960 USB JTAG to "flyswatter" · 20e4e77c
      drath authored
      - make ep93xx and at91rm9200 bitbang JTAG interfaces dependant on ARM host (thanks to Vincent Palatin)
      - various whitespace fixes
      - removed various warnings
      - add support for Debian GNU/kFreeBSD (thanks to Uwe Hermann)
      - fix OpenOCD compilation for various platforms (thanks to Uwe Hermann and Vincent Palatin)
      - switched order of JTAG chain examination and validation (examine first, then multiple validation tries even if examination failed)
      - added target_request subsystem to handle requests from the target (debug messages and tracepoints implemented, future enhancements might include
      semihosting, all ARM7/9 only for now)
      - added support for GDB vFlashXXX packets (thanks to Pavel Chromy)
      - added support for receiving data via ARM7/9 DCC
      - reworked flash writing. the 'flash write' command is now deprecated and replaced by 'flash write_binary' (old syntax and behaviour) and 'flash
      write_image' (write image files (bin, hex, elf, s19) to a target).
      - added support for AMD/ST/SST 29F400B non-cfi flashes
      git-svn-id: svn://svn.berlios.de/openocd/trunk@190 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  28. 29 May, 2007 1 commit
    • drath's avatar
      - split fileio handling into fileio part and image handling · 237e8948
      drath authored
      - reworked etm/etb into a generic etm part with trace capture drivers (currently only etb supported)
      - added XScale debug handler binary to repository
      - added Thumb disassembling (thanks to Vincent Palatin for this patch)
      - added support for non-CFI compatible flashes to cfi driver (currently only SST39VFxxx devices supported)
      This checkin is experimental, not suitable for general use
      git-svn-id: svn://svn.berlios.de/openocd/trunk@155 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  29. 25 Apr, 2007 1 commit
  30. 16 Apr, 2007 1 commit
  31. 26 Mar, 2007 1 commit
  32. 22 Jan, 2007 1 commit
    • drath's avatar
      - fix incorrect parsing of whitespace in command.c (thanks to Magnus Lundin) · 4fc97d3f
      drath authored
      - fix infinite recursion in target_init_handler (thanks to jw and Magnus Lundin)
      - fix CFI flash handlign with buswidth < 32bit (thanks to Daniele Orio for reporting this)
      - add support for reading JTAG device id (currently only as debug output on startup)
      - cleaned up handling of EmbeddedICE registers. Supported functionality and register size now determined by EmbeddedICE version number.
      - small cleanups/fixes
      git-svn-id: svn://svn.berlios.de/openocd/trunk@124 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  33. 07 Nov, 2006 1 commit
  34. 31 Aug, 2006 1 commit
    • drath's avatar
      - endianess fixes everywhere but in the flash code. flashing might still be... · 3acb107b
      drath authored
      - endianess fixes everywhere but in the flash code. flashing might still be broken on big-endian targets and/or hosts
      - added access to ARM920T vector catch register (via generic register mechanism)
      - don't disable linefills on ARM920T cores - this lead to lockups when accessing lines already contained in cache
      - read content of ARM920T cache and tlb into file (arm920t read_flash/read_mmu commands)
      - memory reading improved on ARM7/9, can be further accelerated with new "arm7_9 fast_memory_access enable" command (renamed from fast_writes)
      - made in_handler independent from in field (makes the handler more flexible)
      - added timeout to ft2232 when using D2XX library
      - fixed STR7x protection bit handling on second bank (thanks to Bernard)
      - added support for using the OpenOCD on AT91RM9200 systems (thanks to Anders Larsen)
      - fixed AT91SAM7 flash handling when not running from 32kHz clock (thanks to Anders Larsen)
      git-svn-id: svn://svn.berlios.de/openocd/trunk@90 b42882b7-edfa-0310-969c-e2dbd0fdcd60
  35. 02 Jun, 2006 1 commit