1. 12 Nov, 2009 2 commits
    • 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>
      5723e54f
    • David Brownell's avatar
      ARM: start generalized base type · 4b20ed6b
      David Brownell authored
      
      
      Rename "struct armv4_5_common_s" as "struct arm".  It needs
      a bit more work to be properly generic, and to move out of
      this header, but it's the best start we have on that today.
      
      Add and initialize an optional ETM pointer, since that will
      be the first thing that gets generalized.
      
      The intent being:  all ARMs should eventually derive from
      this "struct arm", so they can reuse the current ETM logic.
      (And later, more.)  Currently the ARM cores that *don't* so
      derive are only ARMv7-M (and thus Cortex-M3) and ARM11.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      4b20ed6b
  2. 09 Nov, 2009 1 commit
  3. 06 Nov, 2009 1 commit
    • 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>
      db116b1e
  4. 23 Oct, 2009 1 commit
  5. 15 Oct, 2009 1 commit
  6. 09 Sep, 2009 1 commit
    • oharboe's avatar
      David Brownell <david-b@pacbell.net> · aa46b153
      oharboe authored
      Optionally shave time off the armv4_5 run_algorithm() code:  let
      them terminate using software breakpoints, avoiding roundtrips
      to manage hardware ones.
      
      Enable this by using BKPT to terminate execution instead of "branch
      to here" loops.  Then pass zero as the exit address, except when
      running on an ARMv4 core.  ARM7TDMI, ARM9TDMI, and derived cores
      now set a flag saying they're ARMv4.
      
      Use that mechanism in arm_nandwrite(), for about 3% speedup on a
      DaVinci ARM926 core; not huge, but it helps.  Some other algorithms
      could use this too (mostly flavors of flash operation).
      
      git-svn-id: svn://svn.berlios.de/openocd/trunk@2680 b42882b7-edfa-0310-969c-e2dbd0fdcd60
      aa46b153
  7. 06 Jul, 2009 2 commits
  8. 23 Jun, 2009 1 commit
  9. 18 Jun, 2009 1 commit
  10. 10 May, 2009 1 commit
  11. 29 Apr, 2009 1 commit
  12. 19 Apr, 2009 1 commit
  13. 13 Dec, 2008 1 commit
  14. 20 Sep, 2008 1 commit
  15. 19 May, 2008 1 commit
  16. 07 May, 2008 1 commit
  17. 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
      1aa85468
  18. 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
      237e8948
  19. 28 Mar, 2007 1 commit
  20. 03 Feb, 2007 1 commit
  21. 04 Sep, 2006 1 commit
  22. 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
      3acb107b
  23. 02 Jun, 2006 1 commit