From 6b84e6be56e83bf66128eea17642bd941e350a9d Mon Sep 17 00:00:00 2001 From: Arne Meeuw <arne@exnaton.com> Date: Sat, 30 Mar 2024 12:05:11 +0700 Subject: [PATCH 1/2] Add src_to_binary_ext that returns addrs_syms --- esp32_ulp/__init__.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/esp32_ulp/__init__.py b/esp32_ulp/__init__.py index 634605d..1a16e37 100644 --- a/esp32_ulp/__init__.py +++ b/esp32_ulp/__init__.py @@ -12,19 +12,20 @@ from .link import make_binary garbage_collect('after import') - -def src_to_binary(src, cpu): +def src_to_binary_ext(src, cpu): assembler = Assembler(cpu) src = preprocess(src) assembler.assemble(src, remove_comments=False) # comments already removed by preprocessor garbage_collect('before symbols export') addrs_syms = assembler.symbols.export() - for addr, sym in addrs_syms: - print('%04d %s' % (addr, sym)) - text, data, bss_len = assembler.fetch() - return make_binary(text, data, bss_len) + return make_binary(text, data, bss_len), addrs_syms +def src_to_binary(src, cpu): + binary, addrs_syms = src_to_binary_ext(src, cpu) + for addr, sym in addrs_syms: + print('%04d %s' % (addr, sym)) + return binary def assemble_file(filename, cpu): with open(filename) as f: From fe753d96209bfa3fa65d1c8f0a5f455472bfb645 Mon Sep 17 00:00:00 2001 From: Arne Meeuw <arne@exnaton.com> Date: Sat, 30 Mar 2024 20:36:26 +0700 Subject: [PATCH 2/2] Adhere to styling conventions --- esp32_ulp/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/esp32_ulp/__init__.py b/esp32_ulp/__init__.py index 1a16e37..e14cca3 100644 --- a/esp32_ulp/__init__.py +++ b/esp32_ulp/__init__.py @@ -12,6 +12,7 @@ from .link import make_binary garbage_collect('after import') + def src_to_binary_ext(src, cpu): assembler = Assembler(cpu) src = preprocess(src) @@ -21,12 +22,14 @@ def src_to_binary_ext(src, cpu): text, data, bss_len = assembler.fetch() return make_binary(text, data, bss_len), addrs_syms + def src_to_binary(src, cpu): binary, addrs_syms = src_to_binary_ext(src, cpu) for addr, sym in addrs_syms: print('%04d %s' % (addr, sym)) return binary + def assemble_file(filename, cpu): with open(filename) as f: src = f.read()