defragster
Senior Member+
Fun and Fear of adding in debug code when things are bad .... Hooked up Serial#4 and enabled debug code - doesn't fault now with the Speed @800 MHz. Forced a fault with invalid write to GPT :: GPT1_CNT = 5;
I can get the temp out once ( to USB Serial! ) in the fault handler - then it won't print. Using debug's printf there causes RESET and restart of MCU.
This is with the weak override to a sketch local :: extern "C" void unused_interrupt_vector(void)
Decided to have setup do replacement for debug serial4 hardcode ... :: Serial4.begin( 115200); - now it won't make it back to the fault code ... locks up somewhere silently ... or auto restarts or something bad ...
So work to do to find a stable path out ... LOOK a Squirrel! ... Nope ... looks like I found a new rabbit hole ...
If I call out to my sketch from unused_interrupt_vector() - I can flash the LED and print the temp too ... I got this far showing temp dropping in fault handler::
So there you have it Mike - and @xxxajk
- temp printed in Celsius on fault - showing it dropping with CPU speed drop. This was a short test so MCU didn't fully heat before I forced the fault. And even though I can Serial USB print - the T4 won't see bootloader request without a button ...
BTW - this does show on Serial4 before I make things ugly::
And my IR thermometer does have °C button - but those numbers are so much less dramatic as well as contextually meaningless
scanning the surface of the MCU I can get 31.4 °C and software reports 38.08 - not surprising the heat is localized and spotty until it hits the chip cover.
<edit:> sitting a bit ... I scan 25.7 to 30.3 C but software now shows 37.42 or 38.08
I can get the temp out once ( to USB Serial! ) in the fault handler - then it won't print. Using debug's printf there causes RESET and restart of MCU.
This is with the weak override to a sketch local :: extern "C" void unused_interrupt_vector(void)
Decided to have setup do replacement for debug serial4 hardcode ... :: Serial4.begin( 115200); - now it won't make it back to the fault code ... locks up somewhere silently ... or auto restarts or something bad ...
So work to do to find a stable path out ... LOOK a Squirrel! ... Nope ... looks like I found a new rabbit hole ...
If I call out to my sketch from unused_interrupt_vector() - I can flash the LED and print the temp too ... I got this far showing temp dropping in fault handler::
>>> 1ms systick :micros() >>> Clock Speed is:804000000 øC=44.63
deg C= 44.626167
deg C= 40.046730
deg C= 39.392525
So there you have it Mike - and @xxxajk
BTW - this does show on Serial4 before I make things ugly::
at 600 MHz :: Increasing voltage to 1250 mV
at 800 MHz :: Increasing voltage to 1300 mV
at 100 MHz :: Decreasing voltage to 1150 mV
And my IR thermometer does have °C button - but those numbers are so much less dramatic as well as contextually meaningless
FWIW, my digital meter thermometer probe touching the 1052 chip reads 10 degrees F lower than what tempmon reports. I haven't checked the EVKB board.
scanning the surface of the MCU I can get 31.4 °C and software reports 38.08 - not surprising the heat is localized and spotty until it hits the chip cover.
<edit:> sitting a bit ... I scan 25.7 to 30.3 C but software now shows 37.42 or 38.08
Last edited: