MSP430에서 zlib 압축을 시도한 사람이 있습니까? MSP430 프로젝트에서 사용할 라이브러리를 컴파일하는 방법에 대한 조언이 있습니까 (IAR Embedded Workbench를 사용하고 있습니까)?MSP430에서 Zlib 압축
답변
저는 MSP430이 아닌 많은 대상을 대상으로 작성했지만 중요한 것은 아닙니다. ISO C이며 표준 라이브러리 호출에만 의존합니다. 동적 메모리 할당을 사용하므로 힙이 필요합니다.
답변 해 주셔서 감사합니다. 나는 수축 알고리즘을 사용하여 msp430을위한 작은 테스트 프로그램을 만들 수 있었지만 우리의 스택 공간을 돌렸다. 나는 이것이 당신이 언급 한 힙과 관련이 있다고 가정하고 있습니다. 그것에 대해 더 자세히 설명해 주시겠습니까? – user1148476
스택 요구 사항은 다른 문제입니다. 일반적으로 C 런타임 시작시 어딘가에 스택 양을 할당합니다. 어떤 종류의 IDE 및 프로젝트 구성 도구를 사용하는 경우에는 그 옵션이 좋습니다. 경우에 따라 스택 및 정적 할당 후 남아있는 모든 메모리를 힙에 할당하고, 나머지는 명시 적으로 힙 크기를 지정해야 할 수도 있습니다. 어느 쪽이든, 힙을 갖는 것에 대한 요점은 단지 하나가 필요하다는 것입니다. 목표에 대한 zlib의 성공은 일반적으로 충분한 메모리가 있고 동적 메모리 할당을 지원하는 데 달려 있습니다. – Clifford
저는 프로세서 개발을위한 테스트로 zlib을 만들었지 만, 64 비트로의 전환이 시작됨에 따라 신중한 typecasting 등을하지 않고도 서명되지 않은 long 및 unsigned int를 사용하고 믹싱하는 것이 컴파일러를 혼란에 빠뜨릴 수 있습니다. 그것은 지금 아래로 침전했을지도 모른다. 그러나 나는 그것을 사용하는 것으로부터 멀리 걸었다.
메모리가 필요/필요하다면 msp430은 경쟁 제품에 비해 RAM 측면에서 특히 작습니다.
나는 http://github.com/dwelch67/msp430sim을 사용할 수있는 msp430 시뮬레이터가 있습니다. 이것은 많은 램을 갖도록 구성하기 쉽고 칩에서 찾을 수있는 것보다 많습니다. Althogh zlib는 여전히 64k를 원하고 어떤 것도 남기지 않을 것입니다. 무슨 일이 일어나는지 보셔야합니다. 어쩌면 내가 이것을 가지고 시뮬레이터의 테스트로서 직접 시험해 볼 것이다. 위의 시뮬레이터 또는 어쩌면 내 다른 사람 중 하나가 매우 (상대적으로) 작은 메모리 풋 프린트가 사용되는 다른 압축 도구를 사용했습니다. zlib가 구체적으로 필요한지 또는 일반적인 종류의 압축 해제가 필요한지 확실하지 않습니다.
MSP430 datasheets 및 Wikipedia article에 따르면 슬라이딩 윈도우 (32 KiB)의 경우에도 충분한 RAM (최대 16 KiB)이 없습니다. 따라서 MSP430에 대한 수축 알고리즘을 사용할 수 없습니다. ZLIB가 ZLIB에서도 마찬가지입니다. 당신이 성공할 수없는 자신의 수축 구현을 작성하려고 시도합니다. 왜냐하면 수축력은 사전을 슬라이딩하기 위해 32 KiB가 필요하고 그것을 위해 추가 메모리가 필요하기 때문입니다. 압축 해제 부분에만 해당됩니다. 압축의 경우 7.5 * 사전 크기 = 240 KiB 인 해시 체인 일치 검색에 추가 메모리가 필요합니다 (7zip의 수축 구현에 따라). 작은 아키텍처에서 압축이 정말로 필요하다면 맞춤 바이트 코딩 된 LZSS 압축 알고리즘을 살펴 보도록 조언합니다. 그들은 빠르고 가볍습니다. 그러나, 특히 엔트로피 코딩 차이로 인해 수축과 경쟁 할 정도로 강하지는 않습니다.
그걸 잘 파악하면 실험 시간을 좀 절약 할 수있었습니다. –
압축 알고리즘의 대부분은 리소스가 부족합니다. 그 중 일부는 CPU 전력 대 메모리 (즉, 일부는 소량의 CPU 전력으로 많은 메모리를 사용하거나 그 반대의 경우)와 약간의 절충을합니다. GiB 메모리를 최대 13 개까지 사용할 수있는 알고리즘도 있습니다. [Here] (http://mattmahoney.net/dc/text.html)은 널리 사용되는 압축기의 처리 시간과 메모리 사용량을 모두 나열하는 참조 벤치 마크입니다. –
맞아요, 나는 그것이 원하는 것이 얼마나되는지 알지 못하는 경우 였고, 나의 접근 방식은 연구 대신 실험하는 것이 었습니다. 매우 유용한 링크에 감사드립니다. –
- 1. C (ZLIB) 압축 배열의 PHP (ZLIB) 압축 해제는 횡설수설을 반환합니다.
- 2. Zlib 호환 압축 스트림?
- 3. ASIHTTPRequest zlib 압축 해제
- 4. zlib 압축 해제 실패
- 5. ZLib 압축 해제
- 6. 압축 문제, zlib?
- 7. asp.net의 Zlib 압축 기술
- 8. 바이너리 파일의 ZLIB 압축 부분 압축 해제
- 9. Node.js : zlib tcp 연결의 압축
- 10. zlib, 압축 된 데이터 청크의 스트림을 압축 해제하는 방법?
- 11. PHP zlib 압축 지원이 작동하지 않습니다.
- 12. zlib 압축 문자열에 공백이 포함될 수 있습니까?
- 13. zlib 압축 된 스트림의 끝 찾기
- 14. 아파치에서 zlib 압축 Gzip 압축을 ... 활성화하는 방법
- 15. struct에서 float에 대한 C++ zlib 압축
- 16. Zlib 압축 해제가 헤더 오류를 발생시킵니다 - Ruby
- 17. zlib?
- 18. GUI에서 zlib 파일 열기
- 19. 알 수없는 ZLIB 헤더 (.vrscene는)
- 20. boost :: iostreams :: filtering_streambuf 문제를 사용하여 zlib 데이터 압축 해제
- 21. 이 zlib 문자열 압축 풀기에 어떤 문제가 있습니까?
- 22. ZLib 단위를 사용하여 파일 압축 대 ZipForge 사용
- 23. zlib 버전 1.1.3을 사용하여 메모리에 gzip 파일 압축 풀기
- 24. boost :: iostream zlib 여러 파일을 하나의 아카이브로 압축
- 25. Postgres의 텍스트 열이 내 zlib 압축 데이터를 좋아하지 않습니다
- 26. ByteArray.compress로 만든 zlib 파일을 압축 해제하는 방법은 무엇입니까?
- 27. zlib 압축에 적합한 크기?
- 28. 쉬운 zlib 튜토리얼은 무엇입니까?
- 29. .NET에서 좋은 zlib 구현?
- 30. 음모와 ZLIB X
절대적으로 zlib가 필요합니까? 또는 단지 압축 알고리즘? – Cyan
http://stackoverflow.com/questions/3203321/lzw-compression-decompression-under-low-memory-conditions –
http://stackoverflow.com/questions/3767640/compact-decompression-library-for-embedded-use –