Fixing accidental revert in merge commit.
This commit is contained in:
parent
ff31959aea
commit
9c0e978556
|
@ -19,6 +19,9 @@ def write_to_file(filename, contents, force_unix=False):
|
||||||
newline = None
|
newline = None
|
||||||
if force_unix:
|
if force_unix:
|
||||||
newline = "\n"
|
newline = "\n"
|
||||||
|
if os.path.exists(filename):
|
||||||
|
if open(filename, "r", newline=newline).read() == contents:
|
||||||
|
return
|
||||||
with open(filename, "w", newline=newline) as f:
|
with open(filename, "w", newline=newline) as f:
|
||||||
f.write(contents)
|
f.write(contents)
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ import subprocess
|
||||||
import struct
|
import struct
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
|
from litex.build.tools import write_to_file
|
||||||
from litex.soc.integration import cpu_interface, soc_sdram, sdram_init
|
from litex.soc.integration import cpu_interface, soc_sdram, sdram_init
|
||||||
|
|
||||||
|
|
||||||
|
@ -66,30 +67,39 @@ class Builder:
|
||||||
buildinc_dir = os.path.join(self.output_dir, "software", "include")
|
buildinc_dir = os.path.join(self.output_dir, "software", "include")
|
||||||
generated_dir = os.path.join(buildinc_dir, "generated")
|
generated_dir = os.path.join(buildinc_dir, "generated")
|
||||||
os.makedirs(generated_dir, exist_ok=True)
|
os.makedirs(generated_dir, exist_ok=True)
|
||||||
with open(os.path.join(generated_dir, "variables.mak"), "w") as f:
|
|
||||||
def define(k, v):
|
|
||||||
f.write("{}={}\n".format(k, _makefile_escape(v)))
|
|
||||||
for k, v in cpu_interface.get_cpu_mak(cpu_type):
|
|
||||||
define(k, v)
|
|
||||||
define("SOC_DIRECTORY", soc_directory)
|
|
||||||
define("BUILDINC_DIRECTORY", buildinc_dir)
|
|
||||||
f.write("export BUILDINC_DIRECTORY\n")
|
|
||||||
for name, src_dir in self.software_packages:
|
|
||||||
define(name.upper() + "_DIRECTORY", src_dir)
|
|
||||||
|
|
||||||
with open(os.path.join(generated_dir, "output_format.ld"), "w") as f:
|
variables_contents = []
|
||||||
f.write(cpu_interface.get_linker_output_format(cpu_type))
|
def define(k, v):
|
||||||
with open(os.path.join(generated_dir, "regions.ld"), "w") as f:
|
variables_contents.append("{}={}\n".format(k, _makefile_escape(v)))
|
||||||
f.write(cpu_interface.get_linker_regions(memory_regions))
|
for k, v in cpu_interface.get_cpu_mak(cpu_type):
|
||||||
|
define(k, v)
|
||||||
|
define("SOC_DIRECTORY", soc_directory)
|
||||||
|
variables_contents.append("export BUILDINC_DIRECTORY\n")
|
||||||
|
define("BUILDINC_DIRECTORY", buildinc_dir)
|
||||||
|
for name, src_dir in self.software_packages:
|
||||||
|
define(name.upper() + "_DIRECTORY", src_dir)
|
||||||
|
write_to_file(
|
||||||
|
os.path.join(generated_dir, "variables.mak"),
|
||||||
|
"".join(variables_contents))
|
||||||
|
|
||||||
with open(os.path.join(generated_dir, "mem.h"), "w") as f:
|
write_to_file(
|
||||||
f.write(cpu_interface.get_mem_header(memory_regions, flash_boot_address))
|
os.path.join(generated_dir, "output_format.ld"),
|
||||||
with open(os.path.join(generated_dir, "csr.h"), "w") as f:
|
cpu_interface.get_linker_output_format(cpu_type))
|
||||||
f.write(cpu_interface.get_csr_header(csr_regions, constants))
|
write_to_file(
|
||||||
|
os.path.join(generated_dir, "regions.ld"),
|
||||||
|
cpu_interface.get_linker_regions(memory_regions))
|
||||||
|
|
||||||
|
write_to_file(
|
||||||
|
os.path.join(generated_dir, "mem.h"),
|
||||||
|
cpu_interface.get_mem_header(memory_regions, flash_boot_address))
|
||||||
|
write_to_file(
|
||||||
|
os.path.join(generated_dir, "csr.h"),
|
||||||
|
cpu_interface.get_csr_header(csr_regions, constants))
|
||||||
|
|
||||||
if sdram_phy_settings is not None:
|
if sdram_phy_settings is not None:
|
||||||
with open(os.path.join(generated_dir, "sdram_phy.h"), "w") as f:
|
write_to_file(
|
||||||
f.write(sdram_init.get_sdram_phy_header(sdram_phy_settings))
|
os.path.join(generated_dir, "sdram_phy.h"),
|
||||||
|
sdram_init.get_sdram_phy_header(sdram_phy_settings))
|
||||||
|
|
||||||
def _generate_csr_csv(self):
|
def _generate_csr_csv(self):
|
||||||
memory_regions = self.soc.get_memory_regions()
|
memory_regions = self.soc.get_memory_regions()
|
||||||
|
@ -98,8 +108,9 @@ class Builder:
|
||||||
|
|
||||||
csr_dir = os.path.dirname(self.csr_csv)
|
csr_dir = os.path.dirname(self.csr_csv)
|
||||||
os.makedirs(csr_dir, exist_ok=True)
|
os.makedirs(csr_dir, exist_ok=True)
|
||||||
with open(self.csr_csv, "w") as f:
|
write_to_file(
|
||||||
f.write(cpu_interface.get_csr_csv(csr_regions, constants, memory_regions))
|
self.csr_csv,
|
||||||
|
cpu_interface.get_csr_csv(csr_regions, constants, memory_regions))
|
||||||
|
|
||||||
def _prepare_software(self):
|
def _prepare_software(self):
|
||||||
for name, src_dir in self.software_packages:
|
for name, src_dir in self.software_packages:
|
||||||
|
|
Loading…
Reference in New Issue