AnsweredAssumed Answered

Why AC6 System Workbench inserts wrong startup file when creating a new project?

Question asked by vueltinguer on Mar 8, 2017
Latest reply on Aug 4, 2017 by Jaroslav Malec

Hi, I'm a newbie in the STM32 world. I have a lot of experience with Atmel ATmega and Xmega, and now I'm starting to learn ARM programming  using a nucleo-F446RE board and AC6 system workbench. 

I have a problem using standard interrupts. Exceptions work fine, but standard interrupts hangs once I activate any of them in the corresponding NVIC_ISERx bit. After struggling with the problem I have found that System Workbench uses a standard Cortex M assembly file (startup_stm32.s) that only defines vectors for common exceptions, all the peripheral IRQ vectors all filled with "0" with no names, so when an standard peripheral  interrupt triggers, the MCU jumps to no_one_knows....

 

I have replaced startup_stm32.s in startup directory with startup_stm32f466.s and now all IRQ's I have tested work OK.

 

I start all my projects from scratch using STM32 AC6 toolchain (File->New C project->Empty project using AC6 STM32 MCU GCC toolchain->NucleoF466RE board). So my question is why AC6 is using a useless startup file instead of using the one for the board I have choosen? 

 

Thanks,

 

 Jose Luis

Outcomes