{'fraction_non_alphanumeric': 0.02577319587628866, 'fraction_numerical': 0.0029455081001472753, 'mean_word_length': 5.502392344497608, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Automatic Retargeting of Binary Utilities for Embedded Code Generation

Contemporary SoC design involves the proper selection of cores from a reference platform. Such selection implies the design exploration of alternative CPUs, which requires the generation of binary code for each possible target. However, the embedded computing market shows a broad spectrum of instruction-set architectures, ranging from micro-controllers to RISCs and ASIPs. As a consequence, binary utilities cannot always rely on pre-existent tools within standard packages. Besides, the task of manually retargeting every binary utility is not acceptable under time-to-market pressure. This paper describes a technique for the automatic generation of binary utilities from an abstract model of the target CPU, which can be synthesized from an arbitrary ADL. The technique is based upon two key mechanisms: model provision for tool generation (at the front-end) and automatic library modification (at the back-end). To illustrate the technique's automation effectiveness, the authors describe the generation of assemblers, linkers and disassemblers. The authors successfully compared the files produced by the generated tools to those produced by conventional tools. Moreover, to give proper evidence of retargetability, the authors present results for MIPS, SPARC, PowerPC and i8051.