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

Add a CRC32 over progmem and ESP.checkFlashCRC #6566

Merged
merged 17 commits into from
Dec 20, 2019

Commits on Sep 29, 2019

  1. Add a CRC32 over progmem and ESP.checkFlashCRC

    Automatically embed a CRC32 of the program memory (including bootloader
    but excluding any filesystems) in all images in unused space in the
    bootloader block.
    
    Add a call, ESP.checkFlashCRC() which returns false if the calculated
    CRC doesn't match the one stored in the image (i.e. flash corruption).
    
    Fixes esp8266#4165
    earlephilhower committed Sep 29, 2019
    Configuration menu
    Copy the full SHA
    3833040 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2019

  1. Add example that currupts itself, comments

    Show CRC checking catch a 1-bit error in program code by corrupting a
    large array, and then return it to clean and verify the CRC matches once
    again.
    
    Add comments to the CRC check routine
    
    Clean up pylint complaints on crc32bin.py
    earlephilhower committed Sep 30, 2019
    Configuration menu
    Copy the full SHA
    79d0197 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7011265 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2019

  1. Configuration menu
    Copy the full SHA
    b7e9f01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4a50bab View commit details
    Browse the repository at this point in the history
  3. Update Esp.cpp

    earlephilhower committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    3fca89e View commit details
    Browse the repository at this point in the history
  4. Update Esp.cpp

    earlephilhower committed Oct 1, 2019
    Configuration menu
    Copy the full SHA
    fcfa48c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    00929d1 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2019

  1. Check linker script for CRC space in bootsector

    Add an assertion in the eboot linker file to guarantee that we have at
    least 8 bytes of unused space at the end of the boot sector to patch in
    the CRC.  If not, the eboot link will fail.
    earlephilhower committed Dec 9, 2019
    Configuration menu
    Copy the full SHA
    49180aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    95e64e4 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2019

  1. Configuration menu
    Copy the full SHA
    800ebe5 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2019

  1. Configuration menu
    Copy the full SHA
    23ecb8e View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2019

  1. Add note about what to do if CRC check fails

    Per discussion with @d-a-v.
    
    When the CRC check fails, you could *try* to do certain things (but may
    not succeed since there is known flash corruption at that point).  List
    a few ideas for application authors.
    earlephilhower committed Dec 19, 2019
    Configuration menu
    Copy the full SHA
    77d617a View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2019

  1. Configuration menu
    Copy the full SHA
    985b6c5 View commit details
    Browse the repository at this point in the history
  2. Combine the CRC calc and bin generation in 1 step

    Per discussion w/@mcspr, combine the CRC calculation with the binary
    generation, removing the additional build step.
    earlephilhower committed Dec 20, 2019
    Configuration menu
    Copy the full SHA
    379b167 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    51fec2c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    365a9d0 View commit details
    Browse the repository at this point in the history