Merge pull request #195 from antmicro/extend_generated_headers
Extend generated headers & csv
This commit is contained in:
commit
77805a5e26
|
@ -58,6 +58,7 @@ class Builder:
|
||||||
cpu_type = self.soc.cpu_type
|
cpu_type = self.soc.cpu_type
|
||||||
memory_regions = self.soc.get_memory_regions()
|
memory_regions = self.soc.get_memory_regions()
|
||||||
flash_boot_address = getattr(self.soc, "flash_boot_address", None)
|
flash_boot_address = getattr(self.soc, "flash_boot_address", None)
|
||||||
|
shadow_base = getattr(self.soc, "shadow_base", None)
|
||||||
csr_regions = self.soc.get_csr_regions()
|
csr_regions = self.soc.get_csr_regions()
|
||||||
constants = self.soc.get_constants()
|
constants = self.soc.get_constants()
|
||||||
|
|
||||||
|
@ -102,7 +103,7 @@ class Builder:
|
||||||
|
|
||||||
write_to_file(
|
write_to_file(
|
||||||
os.path.join(generated_dir, "mem.h"),
|
os.path.join(generated_dir, "mem.h"),
|
||||||
cpu_interface.get_mem_header(memory_regions, flash_boot_address))
|
cpu_interface.get_mem_header(memory_regions, flash_boot_address, shadow_base))
|
||||||
write_to_file(
|
write_to_file(
|
||||||
os.path.join(generated_dir, "csr.h"),
|
os.path.join(generated_dir, "csr.h"),
|
||||||
cpu_interface.get_csr_header(csr_regions, constants))
|
cpu_interface.get_csr_header(csr_regions, constants))
|
||||||
|
@ -120,6 +121,14 @@ class Builder:
|
||||||
csr_regions = self.soc.get_csr_regions()
|
csr_regions = self.soc.get_csr_regions()
|
||||||
constants = self.soc.get_constants()
|
constants = self.soc.get_constants()
|
||||||
|
|
||||||
|
shadow_base = getattr(self.soc, "shadow_base", None)
|
||||||
|
if shadow_base:
|
||||||
|
constants.append(('shadow_base', shadow_base))
|
||||||
|
|
||||||
|
flash_boot_address = getattr(self.soc, "flash_boot_address", None)
|
||||||
|
if flash_boot_address:
|
||||||
|
constants.append(('flash_boot_address', flash_boot_address))
|
||||||
|
|
||||||
csr_dir = os.path.dirname(os.path.realpath(self.csr_csv))
|
csr_dir = os.path.dirname(os.path.realpath(self.csr_csv))
|
||||||
os.makedirs(csr_dir, exist_ok=True)
|
os.makedirs(csr_dir, exist_ok=True)
|
||||||
write_to_file(
|
write_to_file(
|
||||||
|
|
|
@ -70,13 +70,15 @@ def get_linker_regions(regions):
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
||||||
def get_mem_header(regions, flash_boot_address):
|
def get_mem_header(regions, flash_boot_address, shadow_base):
|
||||||
r = generated_banner("//")
|
r = generated_banner("//")
|
||||||
r += "#ifndef __GENERATED_MEM_H\n#define __GENERATED_MEM_H\n\n"
|
r += "#ifndef __GENERATED_MEM_H\n#define __GENERATED_MEM_H\n\n"
|
||||||
for name, base, size in regions:
|
for name, base, size in regions:
|
||||||
r += "#define {name}_BASE 0x{base:08x}L\n#define {name}_SIZE 0x{size:08x}\n\n".format(name=name.upper(), base=base, size=size)
|
r += "#define {name}_BASE 0x{base:08x}L\n#define {name}_SIZE 0x{size:08x}\n\n".format(name=name.upper(), base=base, size=size)
|
||||||
if flash_boot_address is not None:
|
if flash_boot_address is not None:
|
||||||
r += "#define FLASH_BOOT_ADDRESS 0x{:08x}L\n\n".format(flash_boot_address)
|
r += "#define FLASH_BOOT_ADDRESS 0x{:08x}L\n\n".format(flash_boot_address)
|
||||||
|
if shadow_base is not None:
|
||||||
|
r += "#define SHADOW_BASE 0x{:08x}L\n\n".format(shadow_base)
|
||||||
r += "#endif\n"
|
r += "#endif\n"
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue