Under simulation w/ or1ksim, the serial target is extremely slow, partly
since stub code must run on the simulator for every serial message
exchange and partly because the effective baud rate of the simulated
UART is quite low. I can combat this slowness by setting a very high
baud rate on the simulated UART. For example, I set the divisor to run
the UART at 921 kb/s which is too high a baud rate to run on the real HW
but makes it a little less sluggish when simulated.
BTW: how fast does or1ksim run on your computer?
Do you think we should spend more time making it faster?
or1ksim seems to run at about 2 or 3 MIPs on my 2.8 GHz P4 system when I
disable all I/O peripherals except the UARTs.
The gdb serial protocol is very inefficient, though, since it is not a
binary protocol, i.e. it is designed to be human-readable. This results
in a download transfer rate of only a few KB/s when simulating the
target.
I know. Do you think we should migrate to gdb protocol instead of current
JTAG. In both cases we would need JTAG server, which is connected to the
board.
Are you proposing that the protocol between the JTAG server and gdb be changed
to the gdb serial protocol ? What would be gained by that ? (That's not
a rhetorical question - I have some familiarity with the serial protocol,
but just the parts of it that I have used.) It seems then that we would
have to extend the gdb serial protocol to handle the or1k extensions (trace
buffer, SPRs, etc.)