hi,
a search in this forum for "with LTO" brings a lot of threads but nothing concerning this type of compiler optimization.
My project on a Teensy 3.2:
During testing I have curious effects:
1) with optimization fast
- loop counter contains reasonable values, shown on the Serial Monitor by Serial.print(Scount)
- some of the data sets are missed (because the RF signal to the 433 MHz receiver is simulated I know exactly what data sets should be received)
2) with optimization debug
- for loop counter (type word) the Serial Monitor shows values much higher than possible with 16 bits!
- all data sets are received and correct
3) with optimization fast with LTO
- loop counter is ok
- all data sets are ok
The effects of optimization took a lot of time for debugging. And I could not find the reasons.
Now with "fast with LTO" I have a solution. But I would like to know what happened with the other optimizations and what is specific with "with LTO".
Can anybody explain it to me or where can I find explanations?
A frustrated NikoTeen
a search in this forum for "with LTO" brings a lot of threads but nothing concerning this type of compiler optimization.
My project on a Teensy 3.2:
- A 433 MHz receiver outputs digital signals from a wind sensor and a temperature sensor.
- These outputs are decoded by an interrupt routine, stored into a data array and flagged when a data set is available.
- In loop() the program checks if there are results from the interrupt routine. When a data set is flagged as available the data are interpreted and printed on the Serial Monitor. There is also a counter, Scount, which counts how many times loop() is running until a new data set is available.
During testing I have curious effects:
1) with optimization fast
- loop counter contains reasonable values, shown on the Serial Monitor by Serial.print(Scount)
- some of the data sets are missed (because the RF signal to the 433 MHz receiver is simulated I know exactly what data sets should be received)
2) with optimization debug
- for loop counter (type word) the Serial Monitor shows values much higher than possible with 16 bits!
- all data sets are received and correct
3) with optimization fast with LTO
- loop counter is ok
- all data sets are ok
The effects of optimization took a lot of time for debugging. And I could not find the reasons.
Now with "fast with LTO" I have a solution. But I would like to know what happened with the other optimizations and what is specific with "with LTO".
Can anybody explain it to me or where can I find explanations?
A frustrated NikoTeen