origen_swd 1.1.2 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd15e69be465453cd575634e5ece39bf72ea58c1440f34fea544da421a319b87
4
- data.tar.gz: 1314d65d5f8330d7c24ef59fbf26608a61df9d001bae0a72e5077a888fdee149
3
+ metadata.gz: 95575d5657fb4cfb95e958143890a5c1eb8b8bf1d4f789001dcd4557fa6adc90
4
+ data.tar.gz: 243bef544e84a5d50b050f424ad98b8f092fc3676e503ca7c3ab36c017c6a019
5
5
  SHA512:
6
- metadata.gz: 22db0093fb1012b2bc0b93d349df06c04a0859914de886ac92290d2f602a754b0cabb3f4e284ecf88b1a233065fc8abc84a51959f1faeb23382326f66ecabfc5
7
- data.tar.gz: 4adbf17759b6f65caff38fc7589582ddc41069183bbc2d9a3728cd1be2bbe9774ca03e8af5c0ca36444c8e4d06d66db6e64c170f6b995b77c46ef7432e71e39f
6
+ metadata.gz: 6f4015b7215f646a636a5a6961acfef9ece2270f9b2a6d194e3b7e4cb2cd921cbb25811bed42e39d9350ac34a7008be791c9f99c75039c852b7dc17e6e59d3fd
7
+ data.tar.gz: 2a125f9c61bafe02bf7607579ad0f881b30eed93f4711666d388c2f86333ce672ee972a8b65b00f036d06296479e7211bedb05ca633b5c548a6de7425e311956
data/config/version.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  module OrigenSWD
2
- MAJOR = 1
3
- MINOR = 1
4
- BUGFIX = 2
2
+ MAJOR = 2
3
+ MINOR = 0
4
+ BUGFIX = 0
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,14 @@ 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
+ i = [apndp, rnw, addr[0], addr[1]].join('')
165
+ parity = swd_xor_calc(4, i.to_i(2))
162
166
 
163
167
  cc '[SWD] -----------------------------------------------------------------'
164
168
  cc '[SWD] | Start | AP | Read | AD[2] | AD[3] | Par | Stop | Park |'
165
169
  cc "[SWD] | 1 | #{apndp} | #{rnw} | #{addr[0]} | #{addr[1]} | #{parity[0]} | 0 | 1 |"
166
170
  cc '[SWD] -----------------------------------------------------------------'
167
- swd_clk.drive(1)
171
+ swd_clk.drive(posedge_clk)
168
172
  swd_dio.drive!(1) # send start bit (always 1)
169
173
  swd_dio.drive!(apndp) # send apndp bit
170
174
  swd_dio.drive!(rnw) # send rnw bit
@@ -183,7 +187,8 @@ module OrigenSWD
183
187
  # * [:success] (Default) -> Verify the acknowledgement as normal.
184
188
  # @param options [Hash] Placeholder for other/future options.
185
189
  # @raise [RuntimeError] When an unrecongized :confirm option is given.
186
- def receive_acknowledgement(confirm: :success, **options)
190
+ def receive_acknowledgement(options = {})
191
+ confirm = options[:confirm] || :success
187
192
  wait_trn
188
193
  if [:ignore, :none, :skip].include?(confirm)
189
194
  log('Ignoring Acknowledgement Phase')
@@ -279,7 +284,7 @@ module OrigenSWD
279
284
  end
280
285
 
281
286
  cc options[:arm_debug_comment] if options.key?(:arm_debug_comment)
282
- swd_clk.drive(1)
287
+ swd_clk.drive(posedge_clk)
283
288
 
284
289
  reg_overlay = extract_reg_overlay(reg)
285
290
  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,13 @@
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: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronnie Lajaunie
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2019-08-14 00:00:00.000000000 Z
10
+ date: 2025-12-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: origen
@@ -24,7 +23,6 @@ dependencies:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: 0.7.36
27
- description:
28
26
  email:
29
27
  - Ronnie.Lajaunie@freescale.com
30
28
  executables: []
@@ -48,7 +46,6 @@ homepage: http://origen-sdk.org/origen_swd
48
46
  licenses:
49
47
  - MIT
50
48
  metadata: {}
51
- post_install_message:
52
49
  rdoc_options: []
53
50
  require_paths:
54
51
  - lib
@@ -63,9 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
60
  - !ruby/object:Gem::Version
64
61
  version: 1.8.11
65
62
  requirements: []
66
- rubyforge_project:
67
- rubygems_version: 2.7.7
68
- signing_key:
63
+ rubygems_version: 3.6.3
69
64
  specification_version: 4
70
65
  summary: Driver for single-wire-debug interface.
71
66
  test_files: []