emsec / ChameleonMini

The ChameleonMini is a versatile contactless smartcard emulator compliant to NFC. The ChameleonMini was developed by https://kasper-oswald.de. The device is available at https://shop.kasper.it. For further information see the Getting Started Page https://rawgit.com/emsec/ChameleonMini/master/Doc/Doxygen/html/_page__getting_started.html or the Wiki tab above.
Other
1.74k stars 392 forks source link

Fixes to LiveLogTick function, memory bounds checking, and optimizations to save memory space requirements in the firmware #285

Closed maxieds closed 4 years ago

maxieds commented 4 years ago

After some discussion with @ceres-c summarized in #284 (with possible build configuration solutions in #283), the standard firmware binary that resulted before used too much memory. This seems to be the cause of several recent issues and unpredictable crashes running the firmware. I looked at this today and found some fixes that help. Note that with these changes the newly compiled binary yields:

$ avr-size -t Chameleon-Mini.elf
   text    data     bss     dec     hex filename
  56424    1288    4716   62428    f3dc Chameleon-Mini.elf
  56424    1288    4716   62428    f3dc (TOTALS)

The last numeric column is noted to not exceed 0x10000.

A complete summary of all the changes contained in this pull request are given below: