andrei -
If you wrote your own startup code, it’s reasonably common to forget to turn on the clock to the GPIO ports. If you use CubeMX to generate the startup code, it tends to work a whole lot better.
tommyclee -
I wrote my own startup code. The HAL_Init() and SystemClock_Config() are the only two pieces of of code I borrowed from the STM32F4-DISCO project. I need to check whether the clock to the GPIO ports has been turned on.
andrei -
I wouldn’t assume that your use of an RTOS is a problem yet. Start at the start, put an infinite loop into main() before you start the scheduler, and just blink the LEDs. HAL GPIO toggle with a HAL Delay in an infinite loop.
tommyclee -
I have used the project at STM32Cube_FW_F4_V1.24.0/Projects/STM32F4-Discovery/Demonstrations/SW4STM32/STM32F4-DISCO and verified the functinality of four LEDs on my STM32F4-Discovery platform. Based on that success, I created a FreeRTOS v10.0.1 project to try to blink that four LEDs. But these LEDs cannot blink, though the ELF of that project is still running, actually SIGINT interrpted.
andrei -Also, when you get this going, download a more recent version of FreeRTOS. 10.0.1 was released 3 years ago. I’m sure you don’t want to be debugging issues that were fixed already.
tommyclee -
Of course, I won’t debugging the issues that were fixed already. Replacing v10.0.1 with the latest stable verion might resolve my problem.