-
Notifications
You must be signed in to change notification settings - Fork 64
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
Risc-V communication with host #38
Comments
There isn't one yet. One option might be to adapt |
I wanted to ping this ancient thread with the same question as initially proposed: Is there an example of bare metal firmware for the pre-built LiteX/VexRISC core that demonstrates using the UART to communicate with the host? There's a number of sub-questions there - details that I am not quite sure of... There's already a Micropython port, and that can definitely communicate over USB-serial - so I looked there first. But then I am not sure where For that solution - is it ultimately going through TinyUSB? I should/will try copying that driver in the micropy port, rolling it into an otherwise empty firmware derived from Beyond that, there seems to be some related discussion here: but they might be chasing a different kind of solution. Given that people are therein proposing a gateware implementation of USB-CDC, would it potentially be possible to roll a bitstream that required zero C-code level support, and just followed the standard RISC-V low-level code of hitting a couple of UART registers to pend/send characters (e.g. here), and then the gateware would invisibly get it to the host? That would be a pretty wonderful solution. Outside of my skillset to implement, sadly. |
It's ultimately going through TinyUSB, yes. If you want USB-CDC without TinyUSB, you have two options:
|
@xobs Ah, ok, great. I will try roll a minimum working example of the blink bare metal example incorporating the CDC config and driver taken from the micropython port. That should only be a matter of software, without having to tweak anything else. I think that other thread was also proposing a similar solution, of a driverless hardware block. Beyond my abilities for now, but that'll be next steps. |
Is there any abstraction layer to make a serial communication between the fomu and the host pc? I have been taking a look at the implementation that is used at the micropython port, but it is a bit too low level.
The text was updated successfully, but these errors were encountered: