anchor.diff:  
     include OrigenARMDebug
     include Origen::Registers
  -  # Also include the required physical driver (not shown here)
  +  # Also include the required physical driver, JTAG in this example
  +  include OrigenJTAG
   
     def initialize
  -    add_reg :test, 0x0012, 16, :upper_byte => {pos: 8, bits: 8},
  -                               :lower_byte => {pos: 0, bits: 8}
  +    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.reg(:test).write!(0x55AA)  # => Will generate the required vectors using the ARM debug protocol
  +DUT.new.myreg.write!(0x55AA)  # => Will generate the required vectors using the ARM debug protocol
   ~~~
   
   
  
positive.code: ~~~
  origen i
  
  > $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)
  
  This plugin also contains a test suite, makes sure this passes before committing
  any changes!
  
negative.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
  if your app is a plugin.
  
  
  ### How To Use
  
  Include the <code>OrigenARMDebug</code> module in your DUT class, then hook it up
  to the Origen register API via
  <code>read_register</code> and <code>write_register</code> methods.
  
  The <code>OrigenARMDebug</code> module also provides additional methods to use the ARM Debug protocol including:
  accessing device memory, accessing core and floating point registers (cortex M cores only),
  entering/exiting debug mode (cortex M cores only), setting the PC (cortex M cores only)
  and stepping through code (cortex M cores only).
  
  You must also include a compatible physical driver depending on what debug
  interface your device has, one of the following can be used:
  
  * [JTAG](http://origen-sdk.org/jtag)
  * [Single Wire Debug](http://origen-sdk.org/swd)
  