aboutsummaryrefslogtreecommitdiff
path: root/debug/testlib.py
diff options
context:
space:
mode:
authorMegan Wachs <megan@sifive.com>2017-04-17 11:34:33 -0700
committerMegan Wachs <megan@sifive.com>2017-04-17 11:34:33 -0700
commiteca66b135bbbc4fb804ac49a93fb2bf70f6e739f (patch)
tree9e5b8001bccf0a85a1792ab3479734aadc5f0e57 /debug/testlib.py
parentd76b30df333659baf81b8411c7144378b735062a (diff)
parent3429eb68637ff9e25d678d7e2b5f636ab409543c (diff)
downloadriscv-tests-eca66b135bbbc4fb804ac49a93fb2bf70f6e739f.zip
riscv-tests-eca66b135bbbc4fb804ac49a93fb2bf70f6e739f.tar.gz
riscv-tests-eca66b135bbbc4fb804ac49a93fb2bf70f6e739f.tar.bz2
Merge remote-tracking branch 'origin/newprogram' into debug-0.13
Diffstat (limited to 'debug/testlib.py')
-rw-r--r--debug/testlib.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/debug/testlib.py b/debug/testlib.py
index 3927722..71bd609 100644
--- a/debug/testlib.py
+++ b/debug/testlib.py
@@ -19,8 +19,14 @@ def find_file(path):
return None
def compile(args, xlen=32): # pylint: disable=redefined-builtin
- cc = os.path.expandvars("$RISCV/bin/riscv%d-unknown-elf-gcc" % xlen)
+ cc = os.path.expandvars("$RISCV/bin/riscv64-unknown-elf-gcc")
cmd = [cc, "-g"]
+ if (xlen == 32):
+ cmd.append("-march=rv32imac")
+ cmd.append("-mabi=ilp32")
+ else:
+ cmd.append("-march=rv64imac")
+ cmd.append("-mabi=lp64")
for arg in args:
found = find_file(arg)
if found:
@@ -28,7 +34,7 @@ def compile(args, xlen=32): # pylint: disable=redefined-builtin
else:
cmd.append(arg)
process = subprocess.Popen(cmd, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
if process.returncode:
print
@@ -185,7 +191,7 @@ class Openocd(object):
messaged = False
while True:
log = open(Openocd.logname).read()
- if "Examined RISCV core" in log:
+ if "OK GO NOW" in log:
break
if not self.process.poll() is None:
raise Exception(
@@ -222,7 +228,7 @@ class Openocd(object):
elif matches:
[match] = matches
return int(match.group('port'))
- time.sleep(0.1)
+ time.sleep(1)
raise Exception("Timed out waiting for gdb server to obtain port.")
def __del__(self):
@@ -280,7 +286,7 @@ class Gdb(object):
"""Wait for prompt."""
self.child.expect(r"\(gdb\)")
- def command(self, command, timeout=-1):
+ def command(self, command, timeout=6000):
self.child.sendline(command)
self.child.expect("\n", timeout=timeout)
self.child.expect(r"\(gdb\)", timeout=timeout)
@@ -297,7 +303,7 @@ class Gdb(object):
def interrupt(self):
self.child.send("\003")
- self.child.expect(r"\(gdb\)", timeout=60)
+ self.child.expect(r"\(gdb\)", timeout=6000)
return self.child.before.strip()
def x(self, address, size='w'):
@@ -330,7 +336,7 @@ class Gdb(object):
return output
def load(self):
- output = self.command("load", timeout=60)
+ output = self.command("load", timeout=6000)
assert "failed" not in output
assert "Transfer rate" in output