mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-23 13:59:02 +00:00
tools: correct error generating board files that calculated the address incorrectly after a cluster type
Signed-off-by: Ron Evans <ron@hybridgroup.com>
This commit is contained in:
committed by
Ayke van Laethem
parent
e54a1c4dc0
commit
70830cd9da
@@ -293,6 +293,7 @@ const (
|
|||||||
padNumber += 1
|
padNumber += 1
|
||||||
|
|
||||||
regType = 'RegValue'
|
regType = 'RegValue'
|
||||||
|
lastCluster = False
|
||||||
if 'registers' in register:
|
if 'registers' in register:
|
||||||
# This is a cluster, not a register. Create the cluster type.
|
# This is a cluster, not a register. Create the cluster type.
|
||||||
regType = 'struct {\n'
|
regType = 'struct {\n'
|
||||||
@@ -320,13 +321,18 @@ const (
|
|||||||
regType += '\t\t_padding{padNumber} RegValue\n'.format(padNumber=padNumber)
|
regType += '\t\t_padding{padNumber} RegValue\n'.format(padNumber=padNumber)
|
||||||
else:
|
else:
|
||||||
regType += '\t\t_padding{padNumber} [{num}]RegValue\n'.format(padNumber=padNumber, num=numSkip)
|
regType += '\t\t_padding{padNumber} [{num}]RegValue\n'.format(padNumber=padNumber, num=numSkip)
|
||||||
|
else:
|
||||||
|
lastCluster = True
|
||||||
regType += '\t}'
|
regType += '\t}'
|
||||||
|
address = subaddress
|
||||||
if register['array'] is not None:
|
if register['array'] is not None:
|
||||||
regType = '[{}]{}'.format(register['array'], regType)
|
regType = '[{}]{}'.format(register['array'], regType)
|
||||||
out.write('\t{name} {regType}\n'.format(name=register['name'], regType=regType))
|
out.write('\t{name} {regType}\n'.format(name=register['name'], regType=regType))
|
||||||
|
|
||||||
# next address
|
# next address
|
||||||
if register['array'] is not None:
|
if lastCluster is True:
|
||||||
|
lastCluster = False
|
||||||
|
elif register['array'] is not None:
|
||||||
address = register['address'] + register['elementsize'] * register['array']
|
address = register['address'] + register['elementsize'] * register['array']
|
||||||
else:
|
else:
|
||||||
address = register['address'] + register['elementsize']
|
address = register['address'] + register['elementsize']
|
||||||
|
|||||||
Reference in New Issue
Block a user