class RemoteServer(EtherboneIPC):
- def __init__(self, comm, port=1234, csr_data_width=32):
+ def __init__(self, comm, port=1234):
self.comm = comm
self.port = port
- self.csr_data_width = 32
def open(self):
if hasattr(self, "socket"):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.bind(("localhost", self.port))
self.socket.listen(1)
- self.comm.open(self.csr_data_width)
+ self.comm.open()
def close(self):
self.comm.close()
self.serve_thread.setDaemon(True)
self.serve_thread.start()
- def join(self, writer_only=False):
- if not hasattr(self, "serve_thread"):
- return
- self.serve_thread.join()
def _get_args():
parser = argparse.ArgumentParser()
parser.add_argument("--comm", default="uart", help="comm interface")
parser.add_argument("--port", default="2", help="UART port")
parser.add_argument("--baudrate", default=115200, help="UART baudrate")
- parser.add_argument("--csr_data_width", default=32, help="CSR data_width")
+ parser.add_argument("--debug", action="store_true", help="enable debug")
return parser.parse_args()
def main():
+ print("LiteX remote server")
args = _get_args()
if args.comm == "uart":
from litex.soc.tools.remote import CommUART
- port = args.port if not args.port.isdigit() else int(args.port)
+ print("Using CommUART, port: {} / baudrate: {}".format(args.port, args.baudrate))
comm = CommUART(args.port if not args.port.isdigit() else int(args.port),
args.baudrate,
- debug=False)
+ debug=args.debug)
else:
raise NotImplementedError
- server = RemoteServer(comm, csr_data_width=args.csr_data_width)
+ server = RemoteServer(comm)
server.open()
server.start()
try:
- server.join(True)
- except KeyboardInterrupt: # FIXME
+ import time
+ while True: time.sleep(100)
+ except KeyboardInterrupt:
pass
if __name__ == "__main__":