The table spec for .svd cluster sections have a tag called <name>.
https://siliconlabs.github.io/Gecko_SDK_Doc/CMSIS/SVD/html/group__cluster_level__gr.html
.svd files from Atmel/Microchip omit [%s] in the <name> tag. The file has
<registers> <cluster> <dim>3</dim> <dimIncrement>64</dimIncrement> <name>TC_CHANNEL</name> <description>Channel Control Register (channel = 0)</description> <addressOffset>0x0</addressOffset> <register> <name>TC_CCR</name> <description>Channel Control Register (channel = 0)</description> <addressOffset>0x00</addressOffset> <size>32</size>
Instead, I was expecting -
<registers> <cluster> <dim>3</dim> <dimIncrement>64</dimIncrement> <name>TC_CHANNEL[%s]</name> <description>Channel Control Register (channel = 0)</description> <addressOffset>0x0</addressOffset> <register> <name>TC_CCR</name> <description>Channel Control Register (channel = 0)</description> <addressOffset>0x00</addressOffset> <size>32</size>
Is the Atmel file correct to omit [%s]? It would seem the rule in the table for a <name> which is "register names are required to be unique within the scope of a peripheral" is violated when [%s] is omitted. Would there not be duplicate TC_CHANNEL for each cluster when [%s] is omitted? When [%s] is included, would the names be TC_CHANNEL 0, TC_CHANNEL 1, TC_CHANNEL 2 which seems correct?
Are there any thoughts on why .svd files for Atmel parts are missing [%s] in the <name> tag?
Ommitting %s is incorrect. I believe this is already planned to be fixed with the next pack update. But just to be sure, could you please specify in what pack exactly this issue is observed?
The pack is 2.3.88. It is the current pack. I spot checked the .svd files for the full SAM S70 family. They are all missing %s. Is it a bug in the .svd generation tool in CMSIS?
\Atmel\Studio\7.0\packs\atmel\SAMS70_DFP\2.3.88\sams70b\svd\ATSAMS70N20B.svd
The *.svd files are typically created and maintained by chip vendors. CMSIS doesn't really provide utilities to auto-generate such files. However the CMSIS SVD verification utility SVDConv.exe already catches this issue on this svd file:
*** WARNING M239: c:\DeviceSupport\Atmel.SAMS70_DFP.2.3.88\sams70b\svd\ATSAMS70J20B.svd (Line 26184) Dimed Cluster 'TC_CHANNEL' must have an expression.
*** INFO M211: c:\DeviceSupport\Atmel.SAMS70_DFP.2.3.88\sams70b\svd\ATSAMS70J20B.svd (Line 26184) Ignoring Cluster : 'TC_CHANNEL' (see previous message)
Microchips responded to the topic - "It seems there is a bug regarding the issue which was already raised internally. It may be resolved in future updates."
View all questions in Keil forum