soc/integration/builder: remove error when compile_software=False and integrated ROM: when using compile_software=False user knows what he's doing.
This commit is contained in:
parent
bb582619eb
commit
bedd428d9d
|
@ -127,30 +127,26 @@ class Builder:
|
||||||
def _initialize_rom(self):
|
def _initialize_rom(self):
|
||||||
bios_file = os.path.join(self.output_dir, "software", "bios",
|
bios_file = os.path.join(self.output_dir, "software", "bios",
|
||||||
"bios.bin")
|
"bios.bin")
|
||||||
if self.soc.integrated_rom_size:
|
with open(bios_file, "rb") as boot_file:
|
||||||
with open(bios_file, "rb") as boot_file:
|
boot_data = []
|
||||||
boot_data = []
|
while True:
|
||||||
while True:
|
w = boot_file.read(4)
|
||||||
w = boot_file.read(4)
|
if not w:
|
||||||
if not w:
|
break
|
||||||
break
|
boot_data.append(struct.unpack(">I", w)[0])
|
||||||
boot_data.append(struct.unpack(">I", w)[0])
|
self.soc.initialize_rom(boot_data)
|
||||||
self.soc.initialize_rom(boot_data)
|
|
||||||
|
|
||||||
def build(self, toolchain_path=None, **kwargs):
|
def build(self, toolchain_path=None, **kwargs):
|
||||||
self.soc.finalize()
|
self.soc.finalize()
|
||||||
|
|
||||||
os.makedirs(self.output_dir, exist_ok=True)
|
os.makedirs(self.output_dir, exist_ok=True)
|
||||||
|
|
||||||
if self.soc.cpu_type is not None and self.compile_software:
|
if self.soc.cpu_type is not None:
|
||||||
if self.soc.integrated_rom_size:
|
|
||||||
raise ValueError("Software must be compiled in order to "
|
|
||||||
"intitialize integrated ROM")
|
|
||||||
|
|
||||||
self._prepare_software()
|
self._prepare_software()
|
||||||
self._generate_includes()
|
self._generate_includes()
|
||||||
self._generate_software()
|
self._generate_software()
|
||||||
self._initialize_rom()
|
if self.soc.integrated_rom_size and self.compile_software:
|
||||||
|
self._initialize_rom()
|
||||||
|
|
||||||
if self.csr_csv is not None:
|
if self.csr_csv is not None:
|
||||||
self._generate_csr_csv()
|
self._generate_csr_csv()
|
||||||
|
|
Loading…
Reference in New Issue