Archive for February, 2010

OpenOCD v0.4.0 released

Monday, February 22nd, 2010

v0.4.0 highlights, taken from NEWS:

JTAG Layer:

  • Support KT-Link JTAG adapter.
  • Support USB-JTAG, Altera USB-Blaster and compatibles.

Target Layer:

  • General
    • Removed commands which have been obsolete for at least a year (from both documentation and, sometimes, code).
    • new “reset-assert” event, for systems without SRST
  • ARM
    • supports “reset-assert” event (except on Cortex-M3)
    • renamed “armv4_5″ command prefix as “arm”
    • recognizes TrustZone “Secure Monitor” mode
    • “arm regs” command output changed
    • register names use “sp” not “r13″
    • add top-level “mcr” and “mrc” commands, replacing various core-specific operations
    • basic semihosting support (ARM7/ARM9 only, for now)
  • ARM11 should act much more like other ARM cores:
    • Preliminary ETM and ETB hookup
    • accelerated “flash erase_check”
    • accelerated GDB memory checksum
    • support “arm regs” command
    • can access all core modes and registers
    • watchpoint support
    • Shares some core debug code with Cortex-A8
  • Cortex-A8 should act much more like other ARM cores:
    • support “arm regs” command
    • can access all core modes and registers
    • watchpoint support
    • Shares some core debug code with ARM11
  • Cortex-M3
    • - Exposed DWT registers like cycle counter
    • vector_catch settings not clobbered by resets
    • no longer interferes with firmware’s fault handling
  • ETM, ETB
    • “trigger_percent” command moved from ETM to ETB
    • “etm trigger_debug” command added
  • MIPS now uses fastdata writes Freescale
  • DSP563xx cores (partial support)

Flash Layer:

  • ‘flash bank’ and ‘nand device’ take <bank_name> as first argument.
    With this, flash/NAND commands allow referencing banks by name:
    • <bank_name>: reference the bank with its defined name
    • <driver_name>[.N]: reference the driver’s Nth bank
  • New ‘nand verify’ command to check bank against an image file.
  • The “flash erase_address” command now rejects partial sectors;
    previously it would silently erase extra data.  If you
    want to erase the rest of the first and/or last sectors
    instead of failing, you must pass an explicit “pad” flag.
  • New at91sam9 NAND controller driver.
  • New s3c64xx NAND controller driver.

Board, Target, and Interface Configuration Scripts:

  • ARM9 … ETM and ETB hookup for iMX2* targets
  • Add $HOME/.openocd to the search path.
  • Handle Rev C of LM3S811 eval boards. … use “luminary-lm3s811.cfg” only for older boards, use “luminary.cfg” for RevC and newer

Core Jim/TCL Scripting:

  • New ‘usage’ command to provide terse command help.
  • Improved command ‘help’ command output (sorted and indented).
  • Improved command handling:
    • Most boolean settings now accept any of the following:
      on/off, enable/disable, true/false, yes/no, 1/0
    • More error checking and reporting.

New built-in command development documentation and primer.

Build and Release:
Use –enable-doxygen-pdf to build PDF developer documentation.
Consider upgrading to libftdi 0.17 if you use that library; it
includes bugfixes which improve FT2232H support.