origen_arm_debug 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: