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.
- checksums.yaml +7 -0
- data/config/application.rb +59 -0
- data/config/commands.rb +51 -0
- data/config/development.rb +17 -0
- data/config/environment.rb +3 -0
- data/config/users.rb +19 -0
- data/config/version.rb +8 -0
- data/lib/origen_arm_debug.rb +16 -0
- data/lib/origen_arm_debug/abs_if_jtag.rb +255 -0
- data/lib/origen_arm_debug/abs_if_swd.rb +269 -0
- data/lib/origen_arm_debug/core_access_M4.rb +0 -0
- data/lib/origen_arm_debug/driver.rb +67 -0
- data/lib/origen_arm_debug/dut.rb +51 -0
- data/lib/origen_arm_debug/dut_jtag.rb +17 -0
- data/lib/origen_arm_debug/dut_swd.rb +14 -0
- data/lib/origen_arm_debug/jtag_ap.rb +0 -0
- data/lib/origen_arm_debug/jtag_dp.rb +0 -0
- data/lib/origen_arm_debug/mem_ap.rb +387 -0
- data/lib/origen_arm_debug/sw_dp.rb +0 -0
- data/lib/origen_arm_debug/swj_dp.rb +437 -0
- data/pattern/read_write_reg.rb +20 -0
- data/templates/web/index.md.erb +89 -0
- data/templates/web/layouts/_basic.html.erb +16 -0
- data/templates/web/partials/_navbar.html.erb +22 -0
- data/templates/web/release_notes.md.erb +5 -0
- metadata +126 -0
@@ -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>
|
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:
|