Jump to content

    
Sign in to follow this  
ДЕЙЛ

ZLIB для Cortex-M3

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Скопировал все файлы, компилятор пишет, что неопределена функция "compress"

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

 

Share this post


Link to post
Share on other sites

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

ZLIB2.rar

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
У меня в закладках статья, посмотрите, может поможет.

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

Share this post


Link to post
Share on other sites

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

//#define MINIZ_NO_xxxx

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

Share this post


Link to post
Share on other sites
Там вначале много строчек вида

//#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

Edited by ДЕЙЛ

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this