-
|
Describe the bug To Reproduce Expected behavior Desktop (please complete the following information):
Board (please complete the following information):
Attached sketch |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
|
Full build log. notice the line In file included from c:\Users\Danial\Documents\Arduino\libraries\STM32duino_FreeRTOS\src\heap.c:25: |
Beta Was this translation helpful? Give feedback.
-
|
This seems to be compiler problem. even after managing to use other types like std::string to get it working, adding more functions to the sketch reproduces the problem. it somehow disables the IRQ. |
Beta Was this translation helpful? Give feedback.
-
|
Simply remove STM32FreeRTOS include and it should work better. |
Beta Was this translation helpful? Give feedback.
-
|
@fpistm after hours of debugging and ARM register checking i finally found out that when I declare the Arduino_Core_STM32/cores/arduino/WString.cpp Line 167 in 586319c Some people say it's __libc_init_array or newlib nano doing this but I have no clue. I just remember that I used to get a warning about this could this be related? manually setting basepri back to zero solves the problem. |
Beta Was this translation helpful? Give feedback.

@fpistm
I finally found the problem. It was really hard to debug and get to the source of it given Arduino's poor debugging resources. but as I guessed this is a library implementation issue. Others have experienced it as well
https://community.st.com/t5/stm32-mcus-products/basepri-setting-after-reset/td-p/589810
after hours of debugging and ARM register checking i finally found out that when I declare the
String someNamethebaseprivalue is set to0x50which should normally not happen. whether this is related to FreeRTOS or not is another story but i found out after declaring the String, at system startup thebaseprivalue is changed to a non-zero value at this lineArduino_Core_STM3…