def setup(self): """ input output Program ---------> pyGDB -----------> SEGGER GDB -------> Device """ # get segger gdb self._segger = GdbServer('/opt/SEGGER/JLink_Linux_V443c') #, printter=self.print_segger) #sleep(3) # get our gdb server self._output = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self._output.connect(self._segger.get_gdb_host()) self._input = self.request # SWO? if self._enable_swo: # send the magic self._output.setblocking(1) self._input.setblocking(1) self._output.sendall( bytes( self._segger.swoStart(GdbServer.TRANSPORT_SWD, SWO_PROTO, SWO_SPEED), 'ASCII' ) ) self._output.recv(len(self._segger.SWO_REPLY)) self.print_gdb('Sent maigc and burnt reply') # start SWO reciver self._swo = SwoServer(self._segger.get_swv_host(), printter=self.print_swo) # clean up the sockets self._input.setblocking(0) self._output.setblocking(0)