Skip to content
This repository was archived by the owner on Apr 25, 2021. It is now read-only.

Commit cd0fbf6

Browse files
committed
펌웨어 빌드 스크립트 수정
1 parent 8658854 commit cd0fbf6

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

src/build.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@
1212

1313
import re
1414

15+
VERSION = "v1.0.1"
16+
1517
FOLDER = Path(__file__).parent
1618
BASE_FOLDER = FOLDER.parent
1719
OPMOD_PATH = BASE_FOLDER / "opmod"
1820
SOURCE_SYSCALL_TABLE: Path = OPMOD_PATH / "src/main/java/kr/pe/ecmaxp/openpython/arch/consts/OpenPythonSystemCallTable.kt"
1921
TARGET_SYSCALL_TABLE: Path = FOLDER / "syscall_table.h"
20-
TARGET_FOLDER: Path = OPMOD_PATH / "src/main/resources/assets/openpython/firmwares/v1.0.0" # TODO: place version
22+
TARGET_FOLDER: Path = OPMOD_PATH / f"src/main/resources/assets/openpython/firmwares/{VERSION}"
23+
TARGET_FIRMWARE_FOLDER = BASE_FOLDER / "firmwares" / VERSION
2124

2225

2326
@dataclass
@@ -110,7 +113,9 @@ def process_elf(elf: ELFFile, map_file: Path):
110113
)
111114

112115

113-
def build(folder: Path = FOLDER, target_folder: Path = TARGET_FOLDER):
116+
def build(folder: Path = FOLDER,
117+
target_firmware_folder: Path = TARGET_FIRMWARE_FOLDER,
118+
target_folder: Path = TARGET_FOLDER):
114119
build_path: Path = folder / "build"
115120

116121
check_call(
@@ -120,15 +125,15 @@ def build(folder: Path = FOLDER, target_folder: Path = TARGET_FOLDER):
120125
stdin=DEVNULL
121126
)
122127

123-
target_folder.mkdir(parents=True, exist_ok=True)
128+
target_firmware_folder.mkdir(parents=True, exist_ok=True)
124129

125130
with (build_path / "firmware.elf").open('rb') as fp:
126131
elf = ELFFile(fp)
127-
process_elf(elf, target_folder / "firmware.map")
132+
process_elf(elf, target_firmware_folder / "firmware.map")
128133

129-
shutil.copyfile(str(build_path / "firmware.bin"), str(target_folder / "firmware.bin"))
130-
shutil.copyfile(str(build_path / "firmware.elf"), str(target_folder / "firmware.elf"))
131-
shutil.copyfile(str(build_path / "firmware.elf.map"), str(target_folder / "firmware.elf.map"))
134+
shutil.copyfile(str(build_path / "firmware.bin"), str(target_firmware_folder / "firmware.bin"))
135+
shutil.copyfile(str(build_path / "firmware.elf"), str(target_firmware_folder / "firmware.elf"))
136+
shutil.copyfile(str(build_path / "firmware.elf.map"), str(target_firmware_folder / "firmware.elf.map"))
132137

133138
rom: Path = folder / "eeprom.py"
134139
text = rom.read_text()
@@ -137,9 +142,14 @@ def build(folder: Path = FOLDER, target_folder: Path = TARGET_FOLDER):
137142
else:
138143
raise Exception("eeprom missing magic tag")
139144

140-
target_rom = (target_folder / "eeprom.py")
145+
target_rom = (target_firmware_folder / "eeprom.py")
141146
target_rom.write_text(text)
142147

148+
shutil.copyfile(str(build_path / "firmware.bin"), str(target_folder / "firmware.bin"))
149+
shutil.copyfile(str(target_firmware_folder / "firmware.map"), str(target_folder / "firmware.map"))
150+
shutil.copyfile(str(target_firmware_folder / "eeprom.py"), str(target_folder / "eeprom.py"))
151+
152+
print(target_firmware_folder / "firmware.bin")
143153
print(target_folder / "firmware.bin")
144154

145155

0 commit comments

Comments
 (0)