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.73k stars 392 forks source link

Updated code to build with GCC 10 - Updated ISR Sharing #272

Closed ceres-c closed 4 years ago

ceres-c commented 4 years ago

Since GCC 10, the compiler defaults to -fno-common (changelog), thus variables with multiple tentative definitions result in linker errors. We've (me and @MrMoDDoM) extern-ed the shared variables to fix the issue. I've tested the Chameleon with different configs (iso14/iso15) and it seems to be working. Further testing might be needed, but I'm confident the changes shouldn't break anything

Also, when I implemented ISR sharing, somehow I forgot about a function which had to be shared as well, so I fixed that mistake and added a couple of comments on how shared function calls work.