Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Photon/P1] WiFi firmware blob compression #1421

Merged
merged 6 commits into from Nov 6, 2017

Conversation

@avtolstoy
Copy link
Member

commented Oct 30, 2017

submission notes
**Important:** Please sanitize/remove any confidential info like usernames, passwords, org names, product names/ids, access tokens, client ids/secrets, or anything else you don't wish to share.

Please Read and Sign the Contributor License Agreement ([Info here](https://github.com/spark/firmware/blob/develop/CONTRIBUTING.md)).

You may also delete this submission notes header if you'd like. Thank you for contributing!

Problem

We are running out of space in system-part1 on Photon and P1, where ~200K of flash space is being occupied by WiFi chip firmware.

Solution

  1. Compress WiFi firmware using DEFLATE: 215172 -> 149324 (30% space savings!)
  2. Decompress it in runtime: 405ms -> 485ms loading time

Resulting system-part1 size:

   text	   data	    bss	    dec	    hex	filename
 209012	    156	    288	 209456	  33230	../../../build/target/system-part1/platform-6-m/system-part1.elf

develop system-part1 size:

   text	   data	    bss	    dec	    hex	filename
 261604	    156	    276	 262036	  3ff94	../../../build/target/system-part1/platform-6-m/system-part1.elf

51K freed in system-part1.

NOTE: An intermediate release will be required to enable OTA/Ymodem upgrades to system-part1 with comperssion. Support implemented in #1420

Steps to Test

N/A

Example App

N/A

References


Completeness

  • User is totes amazing for contributing!
  • Contributor has signed CLA (Info here)
  • Problem and Solution clearly stated
  • Run unit/integration/application tests on device
  • Added documentation
  • Added to CHANGELOG.md after merging (add links to docs and issues)

@avtolstoy avtolstoy requested a review from m-mcgowan Oct 31, 2017

@m-mcgowan m-mcgowan added this to the 0.8.0 milestone Oct 31, 2017

@m-mcgowan m-mcgowan merged commit b56767a into develop Nov 6, 2017

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.