origen_arm_debug 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,89 @@
1
+ % render "layouts/basic.html" do
2
+
3
+ %# HTML tags can be embedded in mark down files if you want to do specific custom
4
+ %# formatting like this, but in most cases that is not required.
5
+ <h1><%= Origen.app.namespace %> <span style="font-size: 14px">(<%= Origen.app.version %>)</span></h1>
6
+
7
+ ### Purpose
8
+
9
+ This library provides register and memory read/write and debug control capability via the ARM debug protocol.
10
+
11
+ ### How To Import
12
+
13
+ In your Gemfile add:
14
+
15
+ ~~~ruby
16
+ gem "origen_arm_debug", ">= <%= Origen.app.version %>"
17
+ ~~~
18
+
19
+ or if your application is a plugin add this to your <code>.gemspec</code>
20
+
21
+ ~~~ruby
22
+ spec.add_development_dependency "origen_arm_debug", ">= <%= Origen.app.version %>"
23
+ ~~~
24
+
25
+ __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.
26
+
27
+
28
+ ### How To Use
29
+
30
+ Include the <code>OrigenARMDebug</code> module in your DUT class, this provides
31
+ <code>read_register</code> and <code>write_register</code> methods that will
32
+ be used automatically by any register read/write operations.
33
+ It also provides meathods using the ARM Debug protocol including:
34
+ accessing device memory, accessing core and floating point regesters (coretx M cores only),
35
+ entering/exiting debug mode (coretx M cores only), setting the PC (coretx M cores only)
36
+ and stepping through code (coretx M cores only).
37
+
38
+ You must also include a compatible physical driver depending on what debug
39
+ interface your DUT has, one of the following can be used:
40
+
41
+ * [JTAG](http://origen-sdk.org/jtag)
42
+ * [Single Wire Debug](http://origen-sdk.org/swd)
43
+
44
+ ~~~ruby
45
+ class DUT
46
+
47
+ include OrigenARMDebug
48
+ include Origen::Registers
49
+ # Also include the required physical driver (not shown here)
50
+
51
+ def initialize
52
+ add_reg :test, 0x0012, 16, :upper_byte => {pos: 8, bits: 8},
53
+ :lower_byte => {pos: 0, bits: 8}
54
+ end
55
+
56
+ end
57
+
58
+ DUT.new.reg(:test).write!(0x55AA) # => Will generate the required vectors using the ARM debug protocol
59
+ ~~~
60
+
61
+
62
+ ### How To Setup a Development Environment
63
+
64
+ [Clone the repository from Github](https://github.com/Origen-SDK/origen_arm_debug).
65
+
66
+ An instance of the OrigenARMDebug driver is hooked up to a dummy DUT
67
+ object for use in the console:
68
+
69
+ ~~~
70
+ origen i
71
+
72
+ > $dut.arm_debug
73
+ => #<OrigenARMDebug::Driver:0x0000001ee48e78>
74
+ ~~~
75
+
76
+ Follow the instructions here if you want to make a 3rd party app
77
+ workspace use your development copy of the OrigenARMDebug plugin:
78
+ [Setting up a Plugin Development Environment](http://origen-sdk.org/origen/latest/guides/plugins)
79
+
80
+ This plugin also contains a test suite, makes sure this passes before committing
81
+ any changes!
82
+
83
+ ~~~
84
+ origen examples
85
+ ~~~
86
+
87
+ <%= disqus_comments %>
88
+
89
+ % end
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: <%= options[:title] || Origen.config.name %>
3
+ analytics: UA-64455560-1
4
+ ---
5
+ <%= render "templates/web/partials/navbar.html", :tab => options[:tab] %>
6
+
7
+ <div class="row">
8
+ %# The markdown attribute is important if you are going to include content written
9
+ %# in markdown, without this is will be included verbatim
10
+ <div class="span12" markdown="1">
11
+ <%= yield %>
12
+
13
+ <%= disqus_comments %>
14
+
15
+ </div>
16
+ </div>
@@ -0,0 +1,22 @@
1
+ <nav class="navbar navbar-inverse navbar-fixed-top">
2
+ <div class="container">
3
+ <div class="navbar-header">
4
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
5
+ <span class="sr-only">Toggle navigation</span>
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ </button>
10
+ <a class="navbar-brand" href="<%= path "/" %>">Home</a>
11
+ </div>
12
+ <div id="navbar" class="collapse navbar-collapse">
13
+ <ul class="nav navbar-nav">
14
+ <li class="<%= options[:tab] == :api ? 'active' : '' %>"><a href="<%= path "/api/" %>">API</a></li>
15
+ <li class="<%= options[:tab] == :coverage ? 'active' : '' %>"><a href="<%= path "/coverage" %>">Coverage</a></li>
16
+ <li class="<%= options[:tab] == :release ? 'active' : '' %>"><a href="<%= path "/release_notes" %>">Release Notes</a></li>
17
+ <li><a href="https://github.com/Origen-SDK/origen_swd">Github</a></li>
18
+ </ul>
19
+ <%= import "origen/web/logo.html" %>
20
+ </div><!--/.nav-collapse -->
21
+ </div>
22
+ </nav>
@@ -0,0 +1,5 @@
1
+ % render "layouts/basic.html", tab: :release do
2
+
3
+ <%= render "#{Origen.root}/doc/history" %>
4
+
5
+ % end
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: origen_arm_debug
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.0
5
+ platform: ruby
6
+ authors:
7
+ - Ronnie Lajaunie
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-08-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: origen
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: origen_jtag
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.12.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.12.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: origen_swd
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.5.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.5.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: origen_doc_helpers
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
69
+ description:
70
+ email:
71
+ - Ronnie.Lajaunie@freescale.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - config/application.rb
77
+ - config/commands.rb
78
+ - config/development.rb
79
+ - config/environment.rb
80
+ - config/users.rb
81
+ - config/version.rb
82
+ - lib/origen_arm_debug.rb
83
+ - lib/origen_arm_debug/abs_if_jtag.rb
84
+ - lib/origen_arm_debug/abs_if_swd.rb
85
+ - lib/origen_arm_debug/core_access_M4.rb
86
+ - lib/origen_arm_debug/driver.rb
87
+ - lib/origen_arm_debug/dut.rb
88
+ - lib/origen_arm_debug/dut_jtag.rb
89
+ - lib/origen_arm_debug/dut_swd.rb
90
+ - lib/origen_arm_debug/jtag_ap.rb
91
+ - lib/origen_arm_debug/jtag_dp.rb
92
+ - lib/origen_arm_debug/mem_ap.rb
93
+ - lib/origen_arm_debug/sw_dp.rb
94
+ - lib/origen_arm_debug/swj_dp.rb
95
+ - pattern/read_write_reg.rb
96
+ - templates/web/index.md.erb
97
+ - templates/web/layouts/_basic.html.erb
98
+ - templates/web/partials/_navbar.html.erb
99
+ - templates/web/release_notes.md.erb
100
+ homepage: http://origen-sdk.org/origen_arm_debug
101
+ licenses:
102
+ - LGPL-3
103
+ metadata: {}
104
+ post_install_message:
105
+ rdoc_options: []
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.9.3
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.8.11
118
+ requirements: []
119
+ rubyforge_project:
120
+ rubygems_version: 2.2.2
121
+ signing_key:
122
+ specification_version: 4
123
+ summary: Provides a Origen API to perform register read and write operations via the
124
+ ARM_DEBUG protocol.
125
+ test_files: []
126
+ has_rdoc: