Gurus, I have used compressed binaries of my embedded applications.I used to load it to flash and then from there it will loaded to RAM and uncompressed there.While I understand the necessacity to compress and uncompress I am interested to know from you all the implementation details.Here are my doubts:
1)Which is the commonly used compression algorithm for compressing binaries in embedded field? 2)How to arrive at the decompression time?Is it that this has to be done statisticaly by measuring the time it takes to boot? 3)In the target side is it the boot loaders responsibility to uncompress the executable?Or its part of main code? 4)What should be done in the code(wrt entry point address,boot pointers etc) if the first piece of code which is going to execute should be the code to uncompress? 5)I have seen zlib libraries to compress and uncompress in most architectures.How to integrate these libs to make them work?I am guessing that decompression source should be compiled along with loader.Is this correct?If not whats the right way to integrate zlib into my product? 6)I am posting this query to vxworks group also as I have used zlib with vxworks with out understanding the above 5 points.This is to attract views from VxWORKS experts on how this is done in vxworks.I appologize incase this is wrong.Sorry if the above questions are too amature but thought of learning now then later.
Looking farward for all your replys and advanced thanks for the same, regards, s.subbarayan