#101 C++ Template for STM32F3 SysTick interrupt does not work

Next release
closed-duplicate
None
5
2014-04-01
2014-03-31
dswanson
No

When creating a new project for the STM32F3xx from the template with File | New, if you create the "C" project, it works fine, but the C++ does not work.
The reason is that the interrupt handler for the SysTick interrupt does not fire.
There may be several solutions to this problem, but my solution was to put: extern "C" in front of the SysTick_Handler(void), ie:
extern "C" void SysTick_Handler(void)

Discussion

  • Liviu Ionescu (ilg)

    • status: open --> open-accepted
    • assigned_to: Liviu Ionescu (ilg)
     
  • Liviu Ionescu (ilg)

    thank you for the bug report, dswanson, you are right, there was a bug in the templates, but it was fixed, in fact the templates were completely redesigned.

    please try the beta version from updates-test, and possibly provide feedback in the Beta versions tracker.

     
  • Davide Faconti

    Davide Faconti - 2014-03-31

    I am having the same problem on the same board.
    Unfortunately the version on the update-test folder fails during the creation of the project with the following error:

    Condition 5--> Process 1 (ilg.gnuarmeclipse.templates.core.ConditionalAddFiles)-->Error: Add Files failure: template source not found: ../common/src/main/main-include.c
    Condition 5--> Process 1 (ilg.gnuarmeclipse.templates.core.ConditionalAddFiles)-->Error: Add Files failure: template source not found: ../common/src/main/main-include.c
    Condition 1--> Process 1 (org.eclipse.cdt.managedbuilder.core.NewManagedProject)-->Success: Executed successfully with args: [name:stm32f3, location:/home/davide/STM32/workspace, artifactExtension:elf, isCProject:true]
    Condition 1--> Process 2 (ilg.gnuarmeclipse.templates.core.SetPropertyIfHasNature)-->Success: Executed successfully with args: [projectName:stm32f3, natureString:org.eclipse.cdt.core.ccnature, propertyName:fileExtension, propertyValue:cpp]
    Condition 1--> Process 3 (ilg.gnuarmeclipse.templates.core.ConditionalSetProperty)-->Success: Executed successfully with args: [projectName:stm32f3, condition:, propertyName:chipFamily, propertyValue:STM32F30X]
    Condition 1--> Process 4 (ilg.gnuarmeclipse.templates.core.ConditionalSetProperty)-->Success: Executed successfully with args: [projectName:stm32f3, condition:STM32F30X == STM32F30X, propertyName:CMSIS_name, propertyValue:stm32f30x]
    Condition 1--> Process 5 (ilg.gnuarmeclipse.templates.core.ConditionalSetProperty)-->Success: Executed successfully with args: [projectName:stm32f3, condition:STM32F30X == STM32F37X, propertyName:CMSIS_name, propertyValue:stm32f37x]
    Condition 1--> Process 6 (org.eclipse.cdt.core.CreateFolder)-->Success: Executed successfully with args: [projectName:stm32f3, path:include]
    Condition 1--> Process 7 (org.eclipse.cdt.managedbuilder.core.AppendToMBSStringListOptionValues)-->Success: Executed successfully with args: [projectName:stm32f3, resourcePaths:{{id:ilg.gnuarmeclipse.managedbuild.cross.option.*.include.paths, values:{"../include"}, path:}}]
    Condition 2--> Process 1 (org.eclipse.cdt.core.AddFiles)-->Success: Executed successfully with args: [projectName:stm32f3, files:{{source:src/stm32f30x_conf.h, target:include/stm32f30x_conf.h, replaceable:true}}]
    Condition block not executing: Condition 3
    Condition 4--> Process 1 (org.eclipse.cdt.core.CreateFolder)-->Success: Executed successfully with args: [projectName:stm32f3, path:src]

     
  • Liviu Ionescu (ilg)

    Unfortunately the version on the update-test folder fails

    I apologise, the updates-test was not up-to-date.

    could you try again?

    and, for issues related to the updates-test, please add your comments to the tickets in the Beta version tracker.

     
  • Liviu Ionescu (ilg)

    • status: open-accepted --> closed-duplicate
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks