Forum: System Workbench for STM32

startup file for new "empty project"

When starting an c empty ac6 project the wizard ask what board mcu is used
so im’ expectign to get a project for that board and mcu
but on the end the generatde startup file that does’nt contain any device/mcu vectors but only default cortex m vector ?

file startup_stm32.s

******************************************************************************

  • The minimal vector table for a Cortex-M. Note that the proper constructs
  • must be placed on this to ensure that it ends up at physical address
  • 0x0000.0000.
                                                                                                                                                            • /

.section .isr_vector,”a”,%progbits
.type g_pfnVectors, %object
.size g_pfnVectors, .-g_pfnVectors

g_pfnVectors:
.word _estack
.word Reset_Handler
.word NMI_Handler
.word HardFault_Handler
.word MemManage_Handler
.word BusFault_Handler
.word UsageFault_Handler
.word 0
.word 0
.word 0
.word 0
.word SVC_Handler
.word DebugMon_Handler
.word 0
.word PendSV_Handler
.word SysTick_Handler
.word 0
.word 0
.word 0

to me startup file for empty project should be the same as hal/std periph project with all vector for selected mcu/board ie

for instance if i m’ selecting stm32f401 i’m expecting to get file
startup_stm32f401xe.s
with

/* External Interrupts */
.word WWDG_IRQHandler /* Window WatchDog */
.word PVD_IRQHandler /* PVD through EXTI Line detection */
.word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */
.word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */
.word FLASH_IRQHandler /* FLASH */
.word RCC_IRQHandler /* RCC */
.word EXTI0_IRQHandler /* EXTI Line0 */
.word EXTI1_IRQHandler /* EXTI Line1 */
.word EXTI2_IRQHandler /* EXTI Line2 */
.word EXTI3_IRQHandler /* EXTI Line3 */
.word EXTI4_IRQHandler /* EXTI Line4 */
.word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */
.word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */
.word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */
.word DMA1_Stream3_IRQHandler /* DMA1 Stream 3

...

  • Provide weak aliases for each Exception handler to the Default_Handler.
  • As they are weak aliases, any function with the same name will override
  • this definition.
                                                                                                                                                              • /

.weak NMI_Handler
.thumb_set NMI_Handler,Default_Handler

.weak HardFault_Handler
.thumb_set HardFault_Handler,Default_Handler

.weak MemManage_Handler
.thumb_set MemManage_Handler,Default_Handler

.weak BusFault_Handler