-
Notifications
You must be signed in to change notification settings - Fork 243
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
Add the ability to selectively refresh registers in SVD viewer (support readAction) #804
Comments
Can you share this SVD file? In recent versions of SVD Specs, there is a description on register/field to say what happens when a read is performed... https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_registers.html#elem_cluster This (like a ton of other things) was added to the spec much later (after this SVD parser was written). When Note that if even one field is marked as having a side-effect, it will affect the entire register. I am not considering adding the 'Auto' button. I would rather implement |
Note that this should actually be considered a bug in the device. ARM provides a facility to know if the read/write request is coming from the debug port or from someplace else. This can be used to avoid reading registers that have side effects. Trust me, I have implemented this for our devices... so such registers are safe even if they are accidentally read by a debugger (we have multiple debuggers, and not all handle this well) -- Especially when reading memory in bulk. Besides your UART regs, there are FIFO pointers and a variety of register types that have side effects but they only make sense when accessed via the CPU/DMA |
Thank you for the response. My SVD file does not contain the In my microcontroller, reading the USART_DR register by the debugger has a side effect. |
I encountered the same issue and I hope to fix this error on the device. Regarding the tools provided by ARM to determine if the read/write request is coming from the debug port or elsewhere, could you provide me with some documentation links for reference? |
Reading from some registers has a side effect. For example, reading from USART_DR resets the USART_SR.RXNE bit.
It would be nice if it would be possible to selectively refresh only the necessary registers and peripherals, as well as prohibit automatic refresh.
Something like this:
The text was updated successfully, but these errors were encountered: