-class SpikeTarget(Target):
- # pylint: disable=abstract-method
- instruction_hardware_breakpoint_count = 4
- reset_vector = 0x1000
-
-class Spike64Target(SpikeTarget):
- name = "spike64"
- directory = name
- xlen = 64
- use_fpu = True
- # Would like to use 0x7fffffffffff0000 because it crosses the 0x8000...
- # boundary, but spike doesn't support that in the code where it generates
- # the reset vector.
- ram = 0x1212340000
- ram_size = 0x10000000
- openocd_config = "targets/%s/openocd.cfg" % directory
-
- def target(self):
- return testlib.Spike(self)
-
-class Spike32Target(SpikeTarget):
- name = "spike32"
- directory = name
- xlen = 32
- ram = 0x10000000
- ram_size = 0x10000000
- openocd_config = "targets/%s/openocd.cfg" % directory
-
- def target(self):
- return testlib.Spike(self)
-
-class FreedomE300Target(Target):
- name = "freedom-e300"
- xlen = 32
- ram = 0x80000000
- ram_size = 16 * 1024
- instruction_hardware_breakpoint_count = 2
- openocd_config = "targets/%s/openocd.cfg" % name
-
-class HiFive1Target(FreedomE300Target):
- name = "HiFive1"
- openocd_config = "targets/%s/openocd.cfg" % name
-
-class FreedomE300SimTarget(Target):
- name = "freedom-e300-sim"
- xlen = 32
- timeout_sec = 6000
- ram = 0x80000000
- ram_size = 256 * 1024 * 1024
- instruction_hardware_breakpoint_count = 2
- openocd_config = "targets/%s/openocd.cfg" % name
-
- def target(self):
- return testlib.VcsSim(sim_cmd=self.sim_cmd, debug=False)
-
-class FreedomU500Target(Target):
- name = "freedom-u500"
- xlen = 64
- ram = 0x80000000
- ram_size = 16 * 1024
- instruction_hardware_breakpoint_count = 2
- openocd_config = "targets/%s/openocd.cfg" % name
-
-class FreedomU500SimTarget(Target):
- name = "freedom-u500-sim"
- xlen = 64
- timeout_sec = 6000
- ram = 0x80000000
- ram_size = 256 * 1024 * 1024
- instruction_hardware_breakpoint_count = 2
- openocd_config = "targets/%s/openocd.cfg" % name
-
- def target(self):
- return testlib.VcsSim(sim_cmd=self.sim_cmd, debug=False)
-
-targets = [
- Spike32Target,
- Spike64Target,
- FreedomE300Target,
- FreedomU500Target,
- FreedomE300SimTarget,
- FreedomU500SimTarget,
- HiFive1Target]
-