origen_arm_debug 0.9.0 → 0.10.0.pre0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|