Покращення стиснення коду для мікроконтролерів ARM Cortex M за допомогою попередньої фільтрації
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Видавництво Львівської політехніки
Lviv Politechnic Publishing House
Lviv Politechnic Publishing House
Abstract
Протягом останніх десятиліть розмір коду уже не є обмеженням, за винятком малих вбудованих систем. ARM Cortex M – типова архітектура мікроконтролерів у таких системах. Запропоновано простий, але ефективний підхід для покращення стиснення коду алгоритмом загального призначення Deflate, оснований на попередній фільтрації двійкового коду Thumb2. Він перетворює перед стисненням інструкції BL (перехід зі збереженням адреси повернення), що вказують на ту саму ефективну адресу, і відновлює оригінальні коди операцій після декомпресії. Тести, виконані на реальному вбудованому програмному забезпеченні, показують, що запропонований алгоритм покращує стиснення коду приблизно на 3 %.
For last decades code size is no longer a concern except small embedded systems. ARM Cortex M is a typical microcontroller architecture of such systems. A simple yet effective approach based on pre- filtering Thumb2 binary code is proposed to improve code compression by the general purpose Deflate algorithm. It transforms BL (branch and link) instructions pointing to the same effective address before compression, and restores original opcodes after decompression. Tests performed on real-life embedded software show that the proposed algorithm improves code compression by approximately 3 %.
For last decades code size is no longer a concern except small embedded systems. ARM Cortex M is a typical microcontroller architecture of such systems. A simple yet effective approach based on pre- filtering Thumb2 binary code is proposed to improve code compression by the general purpose Deflate algorithm. It transforms BL (branch and link) instructions pointing to the same effective address before compression, and restores original opcodes after decompression. Tests performed on real-life embedded software show that the proposed algorithm improves code compression by approximately 3 %.
Description
Citation
Щербина М. Покращення стиснення коду для мікроконтролерів ARM Cortex M за допомогою попередньої фільтрації / Микола Щербина // Вісник Національного університету “Львівська політехніка”. Серія: Інформаційні системи та мережі. — Львів : Видавництво Львівської політехніки, 2023. — № 14. — С. 225–234.