tools: correct error generating board files that calculated the address incorrectly after a cluster type
Signed-off-by: Ron Evans <ron@hybridgroup.com>
Этот коммит содержится в:
родитель
e54a1c4dc0
коммит
70830cd9da
1 изменённых файлов: 7 добавлений и 1 удалений
|
@ -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']
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче