Hello, Does anyone have any problems with comparing variables of type uint64_t with zero value? In my case it does not work on optimization level more than -O0? (Keil 5.03.0.76)
An example of the code produced would be useful. From what you've given there is no indication that rx_packet is correctly set.
And why have you only made one of the elements of the structure volatile? Are you expecting it to be accessed by another task or isr?
I'm sorry. It is look like the debuger at the optimization level -O1 sets breakpoint on wrong place. Then I set breakpoint on second instuction after comparing - it is show, that it does not executed. And about volatile member, no - I set it for debuging purpouse..
Thanks for reporting back. Many people just leave a dead thread.
It is useful to remember that compiler bugs in a product as mature as this are possible but rare. Far better to suspect code being put through the compiler first.