Skip to content

Commit 9de37ec

Browse files
committed
Correct uvisionn export
1 parent dbbf336 commit 9de37ec

File tree

3 files changed

+23
-22
lines changed

3 files changed

+23
-22
lines changed

tools/export/cmsis/__init__.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,21 @@ def __init__(self, target):
3636
target_info = self.check_supported(target)
3737
if not target_info:
3838
raise TargetNotSupportedException("Target not supported in CMSIS pack")
39-
self.url = target_info['pdsc_file']
40-
self.pdsc_url, self.pdsc_id, _ = split_path(self.url)
41-
self.pack_url, self.pack_id, _ = split_path(target_info['pack_file'])
39+
self.pack_url = target_info['from_pack']['url']
40+
self.pack_id = "{}.{}.{}".format(
41+
target_info['from_pack']['vendor'],
42+
target_info['from_pack']['pack'],
43+
target_info['from_pack']['version']
44+
)
4245
self.dname = target_info["_cpu_name"]
4346
self.core = target_info["_core"]
44-
self.dfpu = target_info['processor']['fpu']
45-
self.debug, self.dvendor = self.vendor_debug(target_info['vendor'])
47+
try:
48+
self.dfpu = target_info['processor']['Symmetric']['fpu']
49+
except KeyError:
50+
self.dfpu = target_info['processor']['Asymmetric']['fpu']
51+
self.debug, self.dvendor = self.vendor_debug(target_info['from_pack']['vendor'])
4652
self.dendian = target_info['processor'].get('endianness','Little-endian')
4753
self.debug_svd = target_info.get('debug', '')
48-
self.compile_header = target_info['compile']['header']
4954
self.target_info = target_info
5055

5156
@staticmethod

tools/export/uvision/__init__.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def __init__(self, target):
2626
self.svd = ''
2727
if self.debug_svd:
2828
self.svd = dev_format.format(self.dname, self.debug_svd)
29-
self.reg_file = dev_format.format(self.dname, self.compile_header)
3029
self.debug_interface = self.uv_debug()
3130
self.flash_dll = self.generate_flash_dll()
3231

@@ -73,14 +72,10 @@ def generate_flash_dll(self):
7372
'''
7473
fl_count = 0
7574

76-
def get_mem_no_x(mem_str):
77-
mem_reg = "\dx(\w+)"
78-
m = re.search(mem_reg, mem_str)
79-
return m.group(1) if m else None
80-
8175
RAMS = [
82-
(get_mem_no_x(info["start"]), get_mem_no_x(info["size"]))
83-
for mem, info in self.target_info["memory"].items() if "RAM" in mem
76+
(info["start"], info["size"])
77+
for mem, info in self.target_info["memories"].items()
78+
if "RAM" in mem
8479
]
8580
format_str = (
8681
"UL2CM3(-S0 -C0 -P0 -FD{ramstart}"
@@ -92,24 +87,25 @@ def get_mem_no_x(mem_str):
9287
if len(RAMS) >= 1:
9388
ramstart = RAMS[0][0]
9489
extra_flags = []
95-
for name, info in self.target_info["algorithm"].items():
96-
if not name or not info:
90+
for info in self.target_info["algorithms"]:
91+
if not info:
9792
continue
98-
if int(info["default"]) == 0:
93+
if not info["default"]:
9994
continue
95+
name = info['file_name']
10096
name_reg = "\w*/([\w_]+)\.flm"
10197
m = re.search(name_reg, name.lower())
10298
fl_name = m.group(1) if m else None
10399
name_flag = "-FF" + str(fl_count) + fl_name
104100

105-
start = get_mem_no_x(info["start"])
106-
size = get_mem_no_x(info["size"])
101+
start = '{:x}'.format(info["start"])
102+
size = '{:x}'.format(info["size"])
107103
rom_start_flag = "-FS" + str(fl_count) + str(start)
108104
rom_size_flag = "-FL" + str(fl_count) + str(size)
109105

110106
if info["ramstart"] is not None and info["ramsize"] is not None:
111-
ramstart = get_mem_no_x(info["ramstart"])
112-
ramsize = get_mem_no_x(info["ramsize"])
107+
ramstart = '{:x}'.format(info["ramstart"])
108+
ramsize = '{:x}'.format(info["ramsize"])
113109

114110
path_flag = "-FP{}($$Device:{}${})".format(
115111
str(fl_count), self.dname, name

tools/export/uvision/uvision.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<StartupFile></StartupFile>
2626
<FlashDriverDll>{{device.flash_dll}}</FlashDriverDll>
2727
<DeviceId>0</DeviceId>
28-
<RegisterFile>{{device.reg_file}}</RegisterFile>
28+
<RegisterFile></RegisterFile>
2929
<MemoryEnv></MemoryEnv>
3030
<Cmp></Cmp>
3131
<Asm></Asm>

0 commit comments

Comments
 (0)