Перейти к содержанию
    

ZLIB для Cortex-M3

Где можно найти данную библиотеку? Какие файлы нужны для работы в IAR? Скажу большое спасибо, если кто-нибудь выложит пример пректа с применением данной библиотеки для архивирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Библиотеку нашёл, скачал, порадовался наличию десятков всяких файлов. Какие файлы нужны для LPC1768 в IAR? Где можно найти описание последовательности настройки этой библиотеки под Cortex-M3? Где что закомментировать-раскомментировать, какие и в каком файле поменять константы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Читайте файл README в корне распакованного архива. Там есть ссылки куда смотреть дальше для сборки.

Но скорее всего конкретно под IAR + Cortax M3 там инструкций нет.

Где что закомментировать-раскомментировать, какие и в каком файле поменять константы?

Ничего нигде менять не надо. Попробуйте просто добавить все *.c файлы из корня архива (кроме example.c и minigzip.c) в проект. Еще можно посмотреть в файл INDEX - это список файлов в библиотеке и для чего они нужны

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По совету с просторов интернета скопировал всю папку zlib в корень проекта и в главном файле добавил строку

#include 'zlib/zlib.h' . Результат опять никакой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скопировал все файлы, компилятор пишет, что неопределена функция "compress"

Надо в файл проекта (в IAR) добавить (почти) все *.с файлы из zlib (физически их копировать в общую помойку совсем не обязательно :) )

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скомпилировал по минимуму библиотеку в IARe. Ошибок не показывает, но почему-то compress возвращает код ошибки -4, т.е. ошибка памяти. В чём может быть причина? К сообщению прикреплён проект.

ZLIB2.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, что библиотека слишком много памяти требует. Код рабочий, если в настройках указать заведомо огромную доступную память. Как можно уменьшить размер потребляемой памяти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня в закладках статья, посмотрите, может поможет.

Спасибо за ссылку, но компилятор возмущается отсутствием файлов <sys\stat.h> и <sys\utime.h>. Где их взять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там вначале много строчек вида

//#define MINIZ_NO_xxxx

с комментариями. Почитайте комментарии и раскомментируйте нужные дефайны для отключения лишней функциональности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там вначале много строчек вида

//#define MINIZ_NO_xxxx

с комментариями. Почитайте комментарии и раскомментируйте нужные дефайны для отключения лишней функциональности.

всего 7 строчек, 128 возможных комбинаций закоментировано-раскоментировано перепробовал и не нашёл такой, при которой файл скомпилировался бы. Где ещё что можно поменять?

 

UP1: к глубокой ночи соображать плохо стал

#include "miniz.c" стояла самой первой строчкой в программе перед присоединением стандартных библиотек, получалось какое-то дублирование из-за отсутствия где-то защитных дефайнов

 

UP2: библиотека компилируется, но проблема осталась - ошибка памяти

 

UP3: Для нормальной работы zlib нужно 270КБ оперативки, а это уже больше чем в 4 раза больше доступной памятив LPC1768. Этот требуемый объём как-то можно уменьшить изменением дефайнов?

 

c minizlib пока не получается заархивировать, постоянно ошибка памяти(-4), хотя указал объём ОЗУ в несколько МБ. Сейчас закомментирована только строка #MINIZ_NO_ZLIB_APIS, все остальные возможные комбинации перепробовал ещё раз.

 

UP4: Откуда взялась цифра "32КБ ОЗУ", если только размер одной структуры tdef1_compessor больше 300КБ? Это речь о miniz.c

Minizlib.rar

Изменено пользователем ДЕЙЛ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...