예제 #1
0
    def startGdb(self,
                 port=None,
                 binary=None,
                 server_cmd=None,
                 config=None,
                 riscv_gdb_cmd=None,
                 verbose=False):
        """Start a gdb session with the riscv core on the GFE

        Args:
            port (int, optional): TCP port for GDB connection over openocd
            server_cmd (string, optional): The base openocd command to run
            config (string, optional): Path to the openocd debugger
            configuration riscv_gdb_cmd (string, optional): Base gdb
            command for the riscv gdb program
        """
        if not server_cmd:
            server_cmd = self.openocd_command
        if not config:
            config = self.openocd_cfg_path
        if not riscv_gdb_cmd:
            riscv_gdb_cmd = self.gdb_path
        self.openocd_session = testlib.Openocd(server_cmd=server_cmd,
                                               config=config,
                                               debug=False)
        self.gdb_session = testlib.Gdb(cmd=riscv_gdb_cmd,
                                       ports=self.openocd_session.gdb_ports,
                                       binary=binary,
                                       xlen=self.xlen)
        self.gdb_session.connect()
예제 #2
0
 def server(self):
     """Start the debug server that gdb connects to, eg. OpenOCD."""
     if self.openocd_config:
         return testlib.Openocd(server_cmd=self.server_cmd,
                                config=self.openocd_config)
     else:
         raise NotImplementedError
예제 #3
0
 def server(self):
     """Start the debug server that gdb connects to, eg. OpenOCD."""
     return testlib.Openocd(server_cmd=self.server_cmd,
             config=self.openocd_config_path,
             timeout=self.server_timeout_sec)
예제 #4
0
 def server(self):
     return testlib.Openocd(cmd=parsed.cmd,
                            config="targets/%s/openocd.cfg" % self.name)