origen_arm_debug 0.9.0 → 0.10.0.pre0
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 +4 -4
- data/config/application.rb +1 -0
- data/config/version.rb +2 -2
- data/lib/origen_arm_debug/swj_dp.rb +19 -4
- data/pattern/read_write_reg_swd.rb +4 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66853aab2d9e6fe3b32b0ac16c9ef5f64eb04bf1
|
4
|
+
data.tar.gz: 511bfce260da1acec74db03809663b1c8f811a4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 527132a80c2ac9fe48695d7321d4121c88c8aea2e94ca6096b4f29dd7c7efddc3a19f1dcac3b1bb508d9c4165a3f70c0ed4028f24c12f9fbf7e84d79db072f3e
|
7
|
+
data.tar.gz: 6a433640fd0a47fa972056a1d1dbc9875cb800dd3263b77f487f56fdd02f46edeb46832e2c7e1b8f135ac3923964c19eabfb5d02066b7a4b0dbc486e8d8ca4fa
|
data/config/application.rb
CHANGED
@@ -42,6 +42,7 @@ class OrigenARMDebugApplication < Origen::Application
|
|
42
42
|
def before_deploy_site
|
43
43
|
Dir.chdir Origen.root do
|
44
44
|
system "origen examples -c"
|
45
|
+
system "origen specs -c"
|
45
46
|
dir = "#{Origen.root}/web/output/coverage"
|
46
47
|
FileUtils.remove_dir(dir, true) if File.exists?(dir)
|
47
48
|
system "mv #{Origen.root}/coverage #{dir}"
|
data/config/version.rb
CHANGED
@@ -34,6 +34,9 @@ module OrigenARMDebug
|
|
34
34
|
|
35
35
|
add_reg :ir, 0x00, 4, data: { pos: 0, bits: 4 } # ARM-JTAG Instruction Register
|
36
36
|
|
37
|
+
add_reg :swd_dp, 0x00, 32, data: { pos: 0, bits: 32 } # SWD Register
|
38
|
+
|
39
|
+
# jtag-dp only
|
37
40
|
add_reg :dpacc, 0x00, 35, rnw: { pos: 0 }, # DP-Access Register (DPACC)
|
38
41
|
a: { pos: 1, bits: 2 },
|
39
42
|
data: { pos: 3, bits: 32 }
|
@@ -42,7 +45,6 @@ module OrigenARMDebug
|
|
42
45
|
a: { pos: 1, bits: 2 },
|
43
46
|
data: { pos: 0, bits: 32 }
|
44
47
|
|
45
|
-
# jtag-dp only
|
46
48
|
add_reg :idcode, 0x00, 32, data: { pos: 0, bits: 32 } # Device ID Code Register (IDCODE)
|
47
49
|
add_reg :abort, 0x00, 35, rnw: { pos: 0 }, # Abort Register (ABORT)
|
48
50
|
a: { pos: 1, bits: 2 },
|
@@ -69,7 +71,7 @@ module OrigenARMDebug
|
|
69
71
|
if protocol == :swd
|
70
72
|
case name
|
71
73
|
when :idcode, :ctrl_stat, :rdbuff, :wcr, :resend
|
72
|
-
dpacc_access(name, 1,
|
74
|
+
dpacc_access(name, 1, data, options)
|
73
75
|
when :abort, :ctrl_stat
|
74
76
|
log.error "#{name} #{protocol.to_s.upcase}-DP register is write-only!"
|
75
77
|
else
|
@@ -282,9 +284,22 @@ module OrigenARMDebug
|
|
282
284
|
def acc_access_swd(addr, rwb, ap_dp, data, options = {})
|
283
285
|
_name = options.delete(:name)
|
284
286
|
if (rwb == 1)
|
285
|
-
|
287
|
+
reg(:swd_dp).address = addr
|
288
|
+
reg(:swd_dp).bits(:data).clear_flags
|
289
|
+
reg(:swd_dp).bits(:data).write(data)
|
290
|
+
_mask = options[:mask] || 0xFFFFFFFF
|
291
|
+
_store = options[:store] || 0x00000000
|
292
|
+
0.upto(31) do |i|
|
293
|
+
reg(:swd_dp).bits(:data)[i].read if _mask[i] == 1
|
294
|
+
reg(:swd_dp).bits(:data)[i].store if _store[i] == 1
|
295
|
+
end
|
296
|
+
options = options.merge(size: reg(:swd_dp).size)
|
297
|
+
swd.read(ap_dp, reg(:swd_dp), options)
|
286
298
|
else
|
287
|
-
|
299
|
+
reg(:swd_dp).bits(:data).write(data)
|
300
|
+
reg(:dpacc).address = addr
|
301
|
+
options = options.merge(size: reg(:swd_dp).size)
|
302
|
+
swd.write(ap_dp, reg(:swd_dp), reg(:swd_dp).data, options)
|
288
303
|
end
|
289
304
|
options = { w_delay: 10 }.merge(options)
|
290
305
|
swd.swd_dio_to_0(options[:w_delay])
|
@@ -1,5 +1,9 @@
|
|
1
1
|
Pattern.create do
|
2
2
|
$dut_swd = $dut
|
3
|
+
|
4
|
+
$dut_swd.reg(:test).write!(0x0000FF01)
|
5
|
+
$dut.reg(:test).read(0xAAAAAAAA)
|
6
|
+
|
3
7
|
$dut_swd.arm_debug.swj_dp.read_dp(:idcode, 0xba5eba11, mask: 0x00000000)
|
4
8
|
$dut_swd.arm_debug.swj_dp.read_dp(:idcode, 0xba5eba11)
|
5
9
|
$dut_swd.arm_debug.swj_dp.read_dp(:wcr, 0x00000000)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: origen_arm_debug
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0.pre0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronnie Lajaunie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|