Port QPCPP library of https://www.state-machine.com/ to Arduino Mega 2560

Job ID: 34898659

Budget: €30 – €250 EUR

Porting of this application to Arduino: https://github.com/QuantumLeaps/qpcpp/tree/v7.1.2/examples/arm-cm/blinky_efm32-slstk3401a/qv/gnu

Example port of an end-of-life, similar library for Arduino, same application: https://github.com/QuantumLeaps/qp-arduino/tree/master/libraries/qpn_avr/examples/blinky

The supplier of this library does not support Arduino anymore in its latest products. We have legacy products on the Atmega2560 based on Arduino boards. I want to investigate if a port of the current library is possible. We have 8KB of RAM on the atmega-2560, so this should be sufficient. No double or floating point numbers are used in this application.

What I expect as issues?
-> avr-g++ version of CPP? Is the supported version high enough for this library? If not, there is a plain-C library as well. Speak up if it occurs.
-> 8-bit compilers often need special non-gnu attributes like PROGMEM. The compiler stores const variables in RAM not ROM. Are we running out of memory? Speak up if it occurs.
-> It is important that the systemTick has the highest interrupt priority. How to fix in the AVR processor?

I accept solutions for this board: https://store.arduino.cc/products/arduino-mega-2560-rev3

Please provide the solution with a Makefile, CMake-solution or similar. I want to have full control over the compiler flags and linker script file. Two things hidden by Arduino.

If the project succeeds, we will talk about a budget to write all the drivers for the application for this library.