origen_swd 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd15e69be465453cd575634e5ece39bf72ea58c1440f34fea544da421a319b87
4
- data.tar.gz: 1314d65d5f8330d7c24ef59fbf26608a61df9d001bae0a72e5077a888fdee149
3
+ metadata.gz: 51a97998eec9af382325c0f868198587bca8b8881c8508e2f57b9b9e5c252861
4
+ data.tar.gz: 95ae1faa26434393293358c049841a6fa64fece8aac409f300df2db5bb4cc1bb
5
5
  SHA512:
6
- metadata.gz: 22db0093fb1012b2bc0b93d349df06c04a0859914de886ac92290d2f602a754b0cabb3f4e284ecf88b1a233065fc8abc84a51959f1faeb23382326f66ecabfc5
7
- data.tar.gz: 4adbf17759b6f65caff38fc7589582ddc41069183bbc2d9a3728cd1be2bbe9774ca03e8af5c0ca36444c8e4d06d66db6e64c170f6b995b77c46ef7432e71e39f
6
+ metadata.gz: 2a831ddbb5f522b5af31f3b78fb62c9fda0301125db220a74d4f88ef01c77564823f5bc5911f788ddd8522a9b92af5e32480dbec702e5924a67e8b03d1d18482
7
+ data.tar.gz: 51cd717bcd6c2bceca23fef362650cdab42a011566b6b3387b6d9629e447c4ca6b77b99ed914ff4bdc2e21241c036d460b4a5e2ea8508012f470fd2baee2ef02
data/config/version.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  module OrigenSWD
2
2
  MAJOR = 1
3
3
  MINOR = 1
4
- BUGFIX = 2
4
+ BUGFIX = 3
5
5
  DEV = nil
6
-
7
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
8
7
  end
@@ -14,6 +14,7 @@ module OrigenSWD
14
14
 
15
15
  # Customiz-ible 'turn-round cycle' (TRN) parameter (in cycles)
16
16
  attr_accessor :trn
17
+ attr_accessor :posedge_clk
17
18
 
18
19
  # Initialize class variables
19
20
  #
@@ -30,6 +31,7 @@ module OrigenSWD
30
31
  @current_apaddr = 0
31
32
  @orundetect = 0
32
33
  @trn = 0
34
+ @posedge_clk = '1'
33
35
  end
34
36
 
35
37
  # Write data from Debug Port
@@ -143,6 +145,7 @@ module OrigenSWD
143
145
  return reg_or_val.address if reg_or_val.respond_to?(:address)
144
146
  return reg_or_val.addr if reg_or_val.respond_to?(:addr)
145
147
  return reg_or_val if reg_or_val && options[:use_reg_or_val_if_you_must]
148
+
146
149
  fail 'No address given, if supplying a data value instead of a register object, you must supply an :address option'
147
150
  end
148
151
 
@@ -158,13 +161,13 @@ module OrigenSWD
158
161
  # @param [Integer] address Address of register that is being accessed
159
162
  def send_header(apndp, rnw, address)
160
163
  addr = address >> 2
161
- parity = apndp ^ rnw ^ (addr >> 3) ^ (addr >> 2) & (0x01) ^ (addr >> 1) & (0x01) ^ addr & 0x01
164
+ parity = apndp ^ rnw ^ (addr >> 3) ^ (addr >> 2) & (0x01) ^ (addr >> 1) & (0x01) ^ addr & 0x01
162
165
 
163
166
  cc '[SWD] -----------------------------------------------------------------'
164
167
  cc '[SWD] | Start | AP | Read | AD[2] | AD[3] | Par | Stop | Park |'
165
168
  cc "[SWD] | 1 | #{apndp} | #{rnw} | #{addr[0]} | #{addr[1]} | #{parity[0]} | 0 | 1 |"
166
169
  cc '[SWD] -----------------------------------------------------------------'
167
- swd_clk.drive(1)
170
+ swd_clk.drive(posedge_clk)
168
171
  swd_dio.drive!(1) # send start bit (always 1)
169
172
  swd_dio.drive!(apndp) # send apndp bit
170
173
  swd_dio.drive!(rnw) # send rnw bit
@@ -183,7 +186,8 @@ module OrigenSWD
183
186
  # * [:success] (Default) -> Verify the acknowledgement as normal.
184
187
  # @param options [Hash] Placeholder for other/future options.
185
188
  # @raise [RuntimeError] When an unrecongized :confirm option is given.
186
- def receive_acknowledgement(confirm: :success, **options)
189
+ def receive_acknowledgement(options = {})
190
+ confirm = options[:confirm] || :success
187
191
  wait_trn
188
192
  if [:ignore, :none, :skip].include?(confirm)
189
193
  log('Ignoring Acknowledgement Phase')
@@ -279,7 +283,7 @@ module OrigenSWD
279
283
  end
280
284
 
281
285
  cc options[:arm_debug_comment] if options.key?(:arm_debug_comment)
282
- swd_clk.drive(1)
286
+ swd_clk.drive(posedge_clk)
283
287
 
284
288
  reg_overlay = extract_reg_overlay(reg)
285
289
  if reg_overlay && !options[:no_subr] && !Origen.mode.simulation?
data/lib/origen_swd.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'origen'
2
- require_relative '../config/application.rb'
2
+ require_relative '../config/application'
3
3
 
4
4
  # Include this module to add a SWD driver to your class
5
5
  module OrigenSWD
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_swd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronnie Lajaunie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-14 00:00:00.000000000 Z
11
+ date: 2024-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -63,8 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: 1.8.11
65
65
  requirements: []
66
- rubyforge_project:
67
- rubygems_version: 2.7.7
66
+ rubygems_version: 3.1.6
68
67
  signing_key:
69
68
  specification_version: 4
70
69
  summary: Driver for single-wire-debug interface.