Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ZLIB для Cortex-M3
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
ДЕЙЛ
Где можно найти данную библиотеку? Какие файлы нужны для работы в IAR? Скажу большое спасибо, если кто-нибудь выложит пример пректа с применением данной библиотеки для архивирования.
ДЕЙЛ
Библиотеку нашёл, скачал, порадовался наличию десятков всяких файлов. Какие файлы нужны для LPC1768 в IAR? Где можно найти описание последовательности настройки этой библиотеки под Cortex-M3? Где что закомментировать-раскомментировать, какие и в каком файле поменять константы?
XVR
Читайте файл README в корне распакованного архива. Там есть ссылки куда смотреть дальше для сборки.
Но скорее всего конкретно под IAR + Cortax M3 там инструкций нет.
Цитата
Где что закомментировать-раскомментировать, какие и в каком файле поменять константы?

Ничего нигде менять не надо. Попробуйте просто добавить все *.c файлы из корня архива (кроме example.c и minigzip.c) в проект. Еще можно посмотреть в файл INDEX - это список файлов в библиотеке и для чего они нужны
ДЕЙЛ
Скопировал все файлы, компилятор пишет, что неопределена функция "compress"
ДЕЙЛ
По совету с просторов интернета скопировал всю папку zlib в корень проекта и в главном файле добавил строку
#include 'zlib/zlib.h' . Результат опять никакой.
XVR
Цитата(ДЕЙЛ @ May 13 2015, 19:13) *
Скопировал все файлы, компилятор пишет, что неопределена функция "compress"

Надо в файл проекта (в IAR) добавить (почти) все *.с файлы из zlib (физически их копировать в общую помойку совсем не обязательно sm.gif )
ДЕЙЛ
Скомпилировал по минимуму библиотеку в IARe. Ошибок не показывает, но почему-то compress возвращает код ошибки -4, т.е. ошибка памяти. В чём может быть причина? К сообщению прикреплён проект.
ДЕЙЛ
Похоже, что библиотека слишком много памяти требует. Код рабочий, если в настройках указать заведомо огромную доступную память. Как можно уменьшить размер потребляемой памяти?
AHTOXA
У меня в закладках статья, посмотрите, может поможет.
ДЕЙЛ
Цитата(AHTOXA @ May 16 2015, 19:57) *
У меня в закладках статья, посмотрите, может поможет.

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

с комментариями. Почитайте комментарии и раскомментируйте нужные дефайны для отключения лишней функциональности.
ДЕЙЛ
Цитата(AHTOXA @ May 17 2015, 00:26) *
Там вначале много строчек вида
Код
//#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
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.