I'm working on serial-rs and currently implementing serial port enumeration for Linux (issue #14).
I've also started work on my own serial port terminal client. I've used serial UART adapters a lot in my graduate work and RealTerm was and is the start-of-the-art for a serial port client. Unfortunately it's terribly buggy, has a horrible UI, and isn't very actively maintained. I've wanted to write my own for a long time and to learn Rust I've decided to do so. I'll post it here once I get it to a usable 0.1 version, but I plan on using GTK as the GUI frontend as it seems the best developed for Rust right now.
IDK about all arduinos, but I know you can run uart on the mega at speeds lile 460,800 and almost 1mbit. I can't remember the exact numbers off the top of my head. Output the data with commas in between and terminated the lines with \r\n. Then use a program like realterm to capture the output as a .csv. Open in excel or scilab and go nuts. You can timestamp each output with millis.
Although I don't know what hardware layer you're referring to, I feel like this is a good opportunity to insert a plug for my favorite serial capture program, RealTerm (http://realterm.sourceforge.net).
I use termite for simple text stuff because it's smaller / prettier, but for doing the heavy duty stuff I have realterm:
If you have a FTDI-TTL serial cable it should support up to 3 megabaud. If you can't set it that high it's only because of your terminal program. Try Tera Term or RealTerm
If you want a good serial terminal, try RealTerm here. It is by far the best I have used, it allows you to send binary, hex, capture the port to a file, share the port with telnet, and more. Great for microcontroller projects.