This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Dummy variable declaration/removal makes RTX run

So I am developing on a STM32F746 using Keil RTX and I have this weird bug where if I declare a dummy variable at a specific emplacement the OS threads won't execute. At one point the variable was inside a function but now I have to make it global in one of my code modules for the OS to run and do everything correctly. Sometimes the variable needs to be removed for my project to work after I make some changes to the code. I should specify that the code does absolutely nothing with the variable, it just declares it and initializes it to 0. I have verified that the different peripheral interrupts happen while debugging. It looks like the RTX scheduler doesn't run properly as all the threads stay in wait state and the OS stays idle.

Any insight as to how something like this can happen? Is it likely to be an issue with how to linker maps the variables/instructions to the memory?

If more information about my project could help I will provide it.
Thank you.

Parents
  • After further investigation, it seems like it is the DMA interrupt which signal the threads that isn't happening and not the scheduler that isn't doing its job. What is strange is that the other interrupts are working fine.

Reply
  • After further investigation, it seems like it is the DMA interrupt which signal the threads that isn't happening and not the scheduler that isn't doing its job. What is strange is that the other interrupts are working fine.

Children