-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Patched SVD files do not meet the requirements through svdconv tool #825
Comments
In relation to the comment: forward reference is not supported and this restriction will be added to CMSIS documentation |
I've made fast fix. Could you try stm32f7x6.svd.patched.new.zip ? |
145: add field name in enumeratedValues derive path r=adamgreig a=burrbull for better compatibility with CMSIS specification related to stm32-rs/stm32-rs#825 Co-authored-by: Andrey Zgarbul <zgarbul.andrey@gmail.com>
Still the same. The solution is guaranting the ordering derivedFrom entry against to reference to type as I shown in |
where can I load svdconv for linux? highly prefered by direct link for ci |
Compile source only |
it is awful |
It's binary for Windows: |
Hmm, You need read deeper CMSIS schema :p
Above example works fine. Look also on USART. It uses "derviedFrom" as attribute of pheripherial node:
|
As above part of CMSIS schema I see that derivedFrom is attribute of field, not enumeratedValues |
Deriving of whole field is independent question. You are right saying that this is better in this particular case. |
As I said above. Not found because enumerated value has not "derivedFrom" attribute in schema |
enumeratedValues has https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_registers.html#elem_enumeratedValues Oh. @adamgreig could you comment this? Lines 23 to 30 in 371fc81
|
Ah, ok. My mistake. Perhaps you should extend naming such as |
Ok I found some solution:
and derivedFrom must be full "namespace":
|
I think that I open next issue on svdconv |
Thanks.
This should be easy to fix
but this could be problematic, especially during patching. The shorter the path, the less conflicts. |
I know, full namespace sounds like bug... Or feature |
It is feature if we have ready unbugged SVD. |
To tracking: |
@burrbull please refer to the proposed solution in Open-CMSIS-Pack/devtools#815 |
Hi, some comments:
Regarding derivedFrom="PUPDR0.PUPDR0": The derive mechanism uses either:
If we would have no clusters (group of registers or other clusters) this would be easy (go up the number of dots). But as we have clusters with an unknown depth (clusters in clusters...) e.g. a path to a register can have an unknown depth from the current position. Consider: |
@KamilDuljas with rust-embedded/svdtools#173 and #320 I've got svdconv shows:
|
Example:
svdconv.exe stm32f7x6.svd
return
Found 0 Error(s) and 1 Warning(s).
svdconv.exe stm32f7x6.svd.patched
return
Found 1060 Error(s) and 292 Warning(s).
The patches schould be compatible with CMSIS tools and Vendors architecture manners.
The text was updated successfully, but these errors were encountered: