2021-01-26 01:54 AM
Hey, I'm having issues with my Nucleo Board.
I'm using an STM32F410RB Nucleo board. I started a new project as usual. When I go to the reference manual and to the interrupt vector table, I see that the USART 1 and USART 2 are on positions 37 and 38, right after SPI (see attachment 1 - vector).
But when I go to the startup .s file in the new project (see attachment 2 - stm) and scroll down to lines 184 and 185 where USART should be defined, the definitions for the USART 1 and USART 2 are not there, instead it is specified only as "reserved". Other Handlers also seem to be missing.
I tried to create a new project several times, while updating STM32Cube to the newest version. The result was always the same.
I tried to hook up my other board, an STM32F412G Discovery and repeated all the steps. It seemed to me everything is there and as it should be according to the datasheet vector table.
Could anybody tell me why STM32Cube is not generating the correct .s file for the Nucleo, and how could I fix it?
Thanks
Solved! Go to Solution.
2021-01-27 03:42 AM
Looking into it. At least we can confirm that line 184-185 are indeed "Reserved" as suggested by @Drexter.
So it does look like a bug. We will try to address in next CubeIDE release.
In the meanwhile, it should at least be a quite simple task to copy-paste the lines suggested by @Pavel A. to get a working startup file.
2021-01-26 02:09 AM
Are the vectors missing in a project were they are supposed to be there ?
Do these vectors show up in the map file ?
They could come from another source.
I don't use Cube, so I am not familiar with it's detailed organisation.
2021-01-26 09:30 AM
Hi @Drexter ,
Trying to do the same on my side:
==> USART1 & USART2 IRQ Handlers are there:
Could you please check on your side using attached .ioc file or share with me the ioc file that can help to reproduce the problem?
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2021-01-26 11:11 AM
Hi @Amel NASRI ,
So one thing I forgot to mention is that I start the project with "Targeted project type - Empty" (see attachment).
But as far as I understand, that should not be the reason why some Handlers do not show up in the .s file.
When I tried to create a project with target STM32Cube (and also checking your .ioc file), the handlers were there.
What other reason could there be that the Handlers don't show with Empty project specifically when used on the 410RB Nucleo board?
Thanks.
2021-01-26 11:14 AM
Hello @Ozone ,
Sorry but I am quite new to STM32. I have not really got to map files so far, so I'm not sure what you mean there.
2021-01-26 01:29 PM
You can download the file from here:
2021-01-27 12:21 AM
The map file is an optional file created by the linker in the build process.
It lists and cross-references all used symbols and names of you application.
Some IDEs enable the creation by default, others not.
Check the documentation of your toolchain.
2021-01-27 02:16 AM
Hi @Drexter ,
Thanks for providing such precision.
I add our STM32CubeIDE Experts @Markus GIRDLAND & @mattias norlander to deeply look for this particular case (start with an empty project).
For sure, they can help us to identify the root cause of the issue and fix it.
-Amel
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2021-01-27 03:42 AM
Looking into it. At least we can confirm that line 184-185 are indeed "Reserved" as suggested by @Drexter.
So it does look like a bug. We will try to address in next CubeIDE release.
In the meanwhile, it should at least be a quite simple task to copy-paste the lines suggested by @Pavel A. to get a working startup file.
2021-01-27 05:00 AM
@Ozone I will give it a try, thanks :)