Showing results for 
Search instead for 
Did you mean: 

Nucleo-F411RE Won't Print to Console After Firmware Update - Working on AFBR-S50 Broadcom Sensor

Associate II

I am trying to run the AFBR-S50 sensor project on my Nucleo-F411RE. Their API has a project for an F401 here. I had previously been able to get the project running on my board. All I had to do was open the .ioc in the STMCubeIDE, uncheck "Do not generate the main()" under Project Manager, build, run, then open a picocom terminal emulator and be able to see the data being printed. Even when the program ran into initialization issues that I never figured out the cause of, it would print the init error messages on the picocom. However, I updated the ST-Link to the latest version, and now the project doesn't work at all: nothing is printed to the terminal, even error messages. I tried rolling back to previous versions of ST-Link using the STSW-LINK007 and I tried different versions of the upgrade application to get different versions of ST-Link. However, none of the versions worked. I don't know which firmware version was originally on my Nucleo when it had worked. 

Now, the original project will not print anything. I included stdio.h and added a simple printf() line in main() after the init calls. However, still nothing shows up. I believe I may have a similar issue as this post, so I followed the advice of the answer at the bottom of the first page "I suggest you to activate the pull-up on the target UART_Tx pin and then it should work even with recent probe firmware versions", In the .ioc of the project, I changed the setting of pin PA2 - USART2_TX to Pull-up. However, this did not change anything.

Would someone be able to explain the reason for this issue? Everything changed when I updated the firmware. 


Compare your code to the code in the repo and find the changes.

Unlikely that ST-Link firmware is the issue here, but it's easy to verify. After downloading the HEX file, verify that it was written correctly. If it was, issue can't be the programmer firmware.

If you feel a post has answered your question, please click "Accept as Solution".
Associate II

I didn't modify the code from the repo except generating the main(). Nothing was modified in between when I got the project working on the Nucleo and when it stopped working. The only thing that had changed was the firmware update. In fact, when it stopped working, I made a new copy of the project from the repo and ran it without any edits. Still, nothing printed to the console. The only thing that changed between when it was working and stopped working was the firmware update. Is there any new configuration that needs to be done to allow the terminal output?

Associate II

Also what do you mean by downloading the hex file and verifying? What hex file? What do I verify? Thanks!