Пример #1
0
 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)