forked from ARMmbed/mbed-os
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cmake_merge_regions.py
30 lines (21 loc) · 1.08 KB
/
cmake_merge_regions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from tools.config import Config, Target, Region
from tools.regions import merge_region_list
import os
import argparse
import logging
PROJECT_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__name__)))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('target', type=str, help="target device")
parser.add_argument('build_path', type=str, help="path to build dirctory")
parser.add_argument('basename', type=str, help="binary basename")
args = parser.parse_args()
Target.add_extra_targets(PROJECT_ROOT)
config = Config(tgt=args.target, app_config=os.path.join(PROJECT_ROOT,"mbed_app.json"))
regions = list(config.regions)
for index, region in enumerate(regions):
if (region.name == "application"):
regions[index] = Region(region.name, region.start, region.size, region.active, os.path.join(args.build_path, f"{args.basename}_application.bin"))
print(regions)
notify = logging.getLogger(__name__)
merge_region_list(regions, os.path.join(args.build_path, f"{args.basename}.bin"), notify)