cancel
Showing results for 
Search instead for 
Did you mean: 

Missing IRQ Handlers in .s file

Drexter
Associate II

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

1 ACCEPTED SOLUTION

Accepted Solutions

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. 

View solution in original post

11 REPLIES 11
Ozone
Lead

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.

Amel NASRI
ST Employee

Hi @Drexter​ ,

Trying to do the same on my side:

  • selected STM32F410RB as device
  • using STM32CubeMX V6.1.1
  • generated code for STM32CubeIDE

==> USART1 & USART2 IRQ Handlers are there:

0693W000007CkyYQAS.pngCould 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.

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.

0693W000007Clc4QAC.png 

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.

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.

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.

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. 

@Ozone​ I will give it a try, thanks 🙂