реклама на сайте
подробности

 
 
> Архиватор в микроконтроллере с малым требованием к ресурсам, сделать в МК архив, который на PC можно будет штатно разжать
Ruslan1
сообщение Nov 22 2016, 08:58
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Здравствуйте!

Имеется кучка файлов, которые можно поделить на две группы
1) длинные текстовые- например, лог 6 мегабайт ежедневно
2) куча коротких текстовых - например, ежедневно директория с 1440 файлами по 200 байт (ежеминутные данные)

Хочу их заархивировать с целью:
группа1 - чтобы уменьшить размер (важно при передаче)
группа2 - чтобы уменьшить количество файлов, просто склейка в один файл без сжатия уже подходит (то есть что-то типа tar уже достаточно) - важно для хранения.

Архивация происходит периодически и не в реальном времени- например, раз в сутки для уже собранных файлов. То есть изменять архив не нужно и скорость работы функции не важна, фоновая задача.
Обязательное требование- чтобы на компьютере это можно было разжать, используя доступные в интернете стандартные архиваторы, а не писать свой распаковщик. Я точно не буду применять архиватор в нестандартный архив.
И еще крайне желательно, чтобы задача не требовала больших объемов памяти (временных буферов) во время работы. При этом скорость работы практически не важна.


Вопрос: есть ли примеры решения таких задач? аппноты какие-нибудь, блоги, линки....
Обычно на МК решается обратная задача - разжать (прошивку, образ итд), да и то из нестандартного формата, а вот упаковщики в "стандартный" архив как-то не попадаются.

Ни и если кто-то может рассказать про личный опыт, что за архиватор применяли на МК, буду безмерно счастлив.

конкретно буду реализовывать на STM32F4, если это важно
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
firew0rker
сообщение Dec 7 2016, 06:27
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716



Так мне и надо было распаковать 1 файл на МК.
Если надо упаковать, есть библиотеки:
1. miniz
2. liblzf
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 7 2016, 06:55
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(firew0rker @ Dec 7 2016, 08:27) *
Если надо упаковать, есть библиотеки:
1. miniz
2. liblzf


Похоже ничего нового в этом мире нет.
Перепевки все тех же алгоритмов предложеных в начале темы.
Но по условиям темы вы должны еще показать достаточно распространенный разархиватор на PC для указанных форматов. wink.gif
Go to the top of the page
 
+Quote Post
firew0rker
сообщение Dec 7 2016, 08:43
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716



Цитата(AlexandrY @ Dec 7 2016, 13:55) *
Показать достаточно распространенный разархиватор на PC для указанных форматов. wink.gif


miniz пишет ZIP файлы.

При компиляции релиза liblzf получается (рас/у)паковщик в виде бинарника lzf которым элементарно просто пользоваться.

Может быть использовать не архиватор, а файловую систему со сжатием, например NTFS?
Исходники ntfs-3g бесплатны, открыты. А за деньги можно приобрести NTFS Embedded

Сообщение отредактировал firew0rker - Dec 7 2016, 09:01
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 7 2016, 09:32
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(firew0rker @ Dec 7 2016, 10:43) *
miniz пишет ZIP файлы.

При компиляции релиза liblzf получается (рас/у)паковщик в виде бинарника lzf которым элементарно просто пользоваться.


Да можно много барахла найти по всяким свалкам исходников, никто не спорит.
Но во первых вы даже видимо не смотрели сколько памяти требует этот miniz, а во вторых видимо думает, что в STM32 есть такая же файловая система как в линуксе.
Go to the top of the page
 
+Quote Post
firew0rker
сообщение Dec 7 2016, 13:04
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 11-07-12
Из: Новосибирск
Пользователь №: 72 716



Цитата(AlexandrY @ Dec 7 2016, 16:32) *
Да можно много барахла найти по всяким свалкам исходников, никто не спорит.
Но во первых вы даже видимо не смотрели сколько памяти требует этот miniz, а во вторых видимо думает, что в STM32 есть такая же файловая система как в линуксе.


Не только барахла, много ценного тоже нарыть можно.
На STM32 можно работать и с файловой системой как в Линуксе, и с самим Линуксом!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ruslan1   Архиватор в микроконтроллере с малым требованием к ресурсам   Nov 22 2016, 08:58
- - Огурцов   есть же какой-то зип открытый, только возьми и ско...   Nov 22 2016, 09:18
- - AlexandrY   Цитата(Ruslan1 @ Nov 22 2016, 10:58) Я то...   Nov 22 2016, 09:40
|- - Ruslan1   Цитата(AlexandrY @ Nov 22 2016, 11:40) Те...   Nov 22 2016, 10:50
|- - SasaVitebsk   Цитата(AlexandrY @ Nov 22 2016, 12:40) Но...   Nov 22 2016, 16:47
|- - AlexandrY   Цитата(SasaVitebsk @ Nov 22 2016, 18:47) ...   Nov 22 2016, 17:10
- - aiwa   minilzo (__http://www.oberhumer.com/opensource/lzo...   Nov 22 2016, 12:20
|- - Ruslan1   Цитата(aiwa @ Nov 22 2016, 14:20) minilzo...   Nov 22 2016, 13:03
|- - HardEgor   Цитата(Ruslan1 @ Nov 22 2016, 20:03) Прич...   Nov 22 2016, 13:48
||- - Ruslan1   Цитата(HardEgor @ Nov 22 2016, 15:48) tar...   Nov 22 2016, 17:09
|- - blackfin   Цитата(Ruslan1 @ Nov 22 2016, 16:03) Все ...   Nov 22 2016, 19:19
- - vladec   zip-ы, rar-ы, tar-ы и т.п. требуют для своей работ...   Nov 22 2016, 12:39
|- - AlexandrY   Цитата(vladec @ Nov 22 2016, 14:39) zip-ы...   Nov 22 2016, 12:51
- - SasaVitebsk   Речь шла о текстовом документе. Скажем так. Пробов...   Nov 22 2016, 19:06
|- - Ruslan1   Цитата(SasaVitebsk @ Nov 22 2016, 21:06) ...   Nov 22 2016, 19:14
|- - SasaVitebsk   Цитата(Ruslan1 @ Nov 22 2016, 22:14) ...   Nov 22 2016, 19:19
- - makc   Посмотрите на https://github.com/atomicobject/heat...   Nov 22 2016, 20:25
|- - AlexandrY   Цитата(makc @ Nov 22 2016, 22:25) Посмотр...   Nov 22 2016, 21:38
|- - Ruslan1   Хм. Или никто не знает, или посчитали несущественн...   Nov 24 2016, 23:38
|- - makc   Цитата(AlexandrY @ Nov 23 2016, 00:38) Хо...   Nov 25 2016, 03:46
- - k155la3   Архиватору требуется большой объем памяти для анал...   Nov 25 2016, 07:17
|- - Ruslan1   Про контейнер- альтернативу использованию тара. Ка...   Nov 25 2016, 09:13
|- - ViKo   Цитата(Ruslan1 @ Nov 25 2016, 12:13) Сейч...   Nov 25 2016, 10:00
|- - Ruslan1   Цитата(ViKo @ Nov 25 2016, 12:00) 10 * 17...   Nov 25 2016, 10:15
|- - ViKo   Цитата(Ruslan1 @ Nov 25 2016, 13:15) ViKo...   Nov 25 2016, 10:23
||- - Ruslan1   Цитата(ViKo @ Nov 25 2016, 12:23) В вашем...   Nov 25 2016, 10:55
||- - ViKo   Цитата(Ruslan1 @ Nov 25 2016, 13:55) Вы, ...   Nov 25 2016, 11:20
|||- - Ruslan1   Цитата(ViKo @ Nov 25 2016, 13:20) Понятно...   Nov 25 2016, 12:45
||- - AlexandrY   Цитата(Ruslan1 @ Nov 25 2016, 12:55) Вы, ...   Nov 25 2016, 11:24
|||- - Ruslan1   Цитата(AlexandrY @ Nov 25 2016, 13:24) Чт...   Nov 25 2016, 11:42
||- - mantech   Цитата(Ruslan1 @ Nov 25 2016, 13:55) Вы, ...   Nov 25 2016, 13:36
|- - gerber   Цитата(Ruslan1 @ Nov 25 2016, 13:15) Не, ...   Nov 25 2016, 10:34
|- - Ruslan1   Цитата(gerber @ Nov 25 2016, 12:34) Ну и ...   Nov 25 2016, 20:24
|- - Ruslan1   В-общем, реализовал tar с дописыванием в архив нов...   Nov 27 2016, 23:13
- - gerber   Ещё ISO есть.   Nov 25 2016, 09:21
- - firew0rker   Я применила для такой задачи (сбор и ежесуточное а...   Dec 7 2016, 03:29
|- - Alechek   Цитата(firew0rker @ Dec 7 2016, 08:29) Дл...   Dec 7 2016, 05:15
- - Ruslan1   Спасибо, но на линукс ради архиватора переходить н...   Dec 7 2016, 19:58
- - jcxz   Цитата(Ruslan1 @ Dec 7 2016, 22:58) У мен...   Jan 3 2017, 16:50
- - Ruslan1   Цитата(jcxz @ Jan 3 2017, 18:50) Как я по...   Jan 3 2017, 19:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.0151 секунд с 7
ELECTRONIX ©2004-2016