Menu

#33 Problem with "info io_registers"?

v1.0_(example)
open
nobody
None
5
2021-04-21
2021-04-21
No

This is an odd bug report as I do not have any hardware to demonstrate that there actually is a bug. But my story strongly suggests that there is.

The background is that I was trying to implement support for this command in an AVR simulator, simavr. It seemed straightforward, but when tested, I found that gdb would endlessly repeat the initial command, which is supposed to return the number of I/O registers. Trying to understand that, I looked for a working implementation and downloaded the source code. I was surprised to find code in Avarice very like my own.

After some digging in current gdb source, I was able to make it work. The command uses a gdb function that seems intended to retrieve data of indefinite length, perhaps the contents of a file. It repeats the command, concatenating the replies, until it receives an empty reply, which it treats as end-of-file. So the way to make this work is to reply normally and then send an empty packet on the first repetition.

I found no such code in Avarice, making me think there is probably a bug with this command. I hope this proves useful.

Discussion


Log in to post a comment.