anchor.diff:  ~~~
   origen i
   
  -> $dut.arm_debug
  +> dut.arm_debug
   => #<OrigenARMDebug::Driver:0x0000001ee48e78>
   ~~~
   
   Follow the instructions here if you want to make a 3rd party app
   workspace use your development copy of the OrigenARMDebug plugin:
  -[Setting up a Plugin Development Environment](http://origen-sdk.org/origen/latest/guides/plugins)
  +[Setting up a Plugin Development Environment](http://origen-sdk.org/origen/guides/plugins)
   
   This plugin also contains a test suite, makes sure this passes before committing
   any changes!
  
positive.code: spec.add_development_dependency "origen_arm_debug", ">= <%= Origen.app.version %>"
  ~~~
  
  __NOTE:__ You will also need to include <code>require 'origen_arm_debug'</code> somewhere in your environment.  This can be done in <code>config/environment.rb</code> for example.
  
  
  ### How To Use
  
  Include the <code>OrigenARMDebug</code> module in your DUT class, this provides
  <code>read_register</code> and <code>write_register</code> methods that will
  be used automatically by any register read/write operations.
  It also provides meathods using the ARM Debug protocol including:
  accessing device memory, accessing core and floating point regesters (coretx M cores only),
  entering/exiting debug mode (coretx M cores only), setting the PC (coretx M cores only)
  and stepping through code (coretx M cores only).
  
  You must also include a compatible physical driver depending on what debug
  interface your DUT has, one of the following can be used:
  
  * [JTAG](http://origen-sdk.org/jtag)
  * [Single Wire Debug](http://origen-sdk.org/swd)
  
negative.code: 
    include OrigenARMDebug
    include Origen::Registers
    # Also include the required physical driver, JTAG in this example
    include OrigenJTAG
  
    def initialize
      reg :myreg, 0x0012, size: 16 do |reg|
        reg.bits 15..8, :upper_byte
        reg.bits 7..0,  :lower_byte
      end                           
    end
  
    # Hook the ARMDebug module into the register API, any register read
    # requests will use the ARM Debug protocol by default
    def read_register(reg, options={})
      arm_debug.read_register(reg, options)
    end
  
    # As above for write requests
    def write_register(reg, options={})
      arm_debug.write_register(reg, options)
    end
  end
  
  DUT.new.myreg.write!(0x55AA)  # => Will generate the required vectors using the ARM debug protocol
  ~~~
  
  
  