Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Декомпресираща библиотека за CortexM
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=18522
Страница 1 от 1

Автор:  emilvtc [ Чет Сеп 08, 2022 3:28 pm ]
Заглавие:  Декомпресираща библиотека за CortexM

Във връзка с фърмуер ъпдейт на устройства с ARM Cortex M3/4 ми трябва накаква малка и лека декомпресираща функкция/библиотечка, която да не използва много RAM и ROM.

Идеята е бинарния имидж на новия фърмуер да e компресиран предварително на PC и така компресираният файл да се достави през комуникационнен канал до микроконтролера, който да го запише в регион от вътрешният си флаш (или във външен флаш), а после бутлоудера да го декомпресира и запише в програмната му памет.

Някой има ли идеи за такава декомпресираща библиотека/функкция?
(би било чудесно ако е в сорс вид)

Автор:  TheWizard [ Чет Сеп 08, 2022 5:18 pm ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

https://github.com/MediaTek-Labs/genio- ... ma_decoder

Автор:  gicho [ Пет Сеп 09, 2022 8:32 am ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

Потвърждавам - lzma/lzma2 е много ефективно за компресиране на код. Аз ползвам от lzma sdk-то на Igor Pavlov (дето прави 7-zip).
Като пример - при мен фирмуер с разни ресурси вътре го мачка от 800К до около 180К.

Автор:  emilvtc [ Пет Сеп 09, 2022 10:35 am ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

Благодаря колеги.
Ще го прегледам.

Автор:  t_i_t_o [ Пет Сеп 09, 2022 9:26 pm ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

minilzo http://www.oberhumer.com/opensource/lzo/

Автор:  palavrov [ Нед Сеп 11, 2022 3:26 pm ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

lzma мисля, че изисква много по сериозни ресурси спрямо lzo - разбира се има съществена разлика в компресията ама ако все пак ограничението е за малко рам и ром за декомпресора трудно може да се бие lzo освен може би с някой от дериватите му.

Автор:  gicho [ Нед Сеп 11, 2022 8:23 pm ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

Да, така е, но при мен примерно онзи фирмуер от 800Кб ставаше 260 с lzo, а с lzma ставаше 177 по спомен. Голямата разлика е при компресирането, за декопресия не чак толкова - там РАМ май искаше повечко. А пък компресията в конкретния случай е на ПЦ-то/билд сървъра.
Ползвам съм едно lzss, което даже го ползвах да компресирам на микроконтролера (е, то малко напомпан микроконтролер беше) - едни 80кбайта ги мачкаше за 2-3мс.

Автор:  TheWizard [ Сря Сеп 28, 2022 5:23 pm ]
Заглавие:  Re: Декомпресираща библиотека за CortexM

като за упдейти с делти + LZMA
https://github.com/ESP32-Musings/esp32_ ... ota_update

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/