diff --git a/esp32_ulp/__init__.py b/esp32_ulp/__init__.py index 634605d..e14cca3 100644 --- a/esp32_ulp/__init__.py +++ b/esp32_ulp/__init__.py @@ -13,17 +13,21 @@ 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() + 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)) - - text, data, bss_len = assembler.fetch() - return make_binary(text, data, bss_len) + return binary def assemble_file(filename, cpu):