#18 Templates for STM32F3x

Time Permitting
closed-fixed
None
5
2013-11-12
2013-11-02
MrAras
No

To round out the support for the STM32, it would be fantastic to have managed make support and a working template for the STM32F3Discovery board (to start with).

Discussion

  • time permitting, and if you promise to test it, since I have no STM32F3 boards at hand.

     
    • status: open --> open-accepted
    • assigned_to: Liviu Ionescu (ilg)
     
    • Group: Next Release --> Time Permitting
     
  • MrAras
    MrAras
    2013-11-03

    Yes, I am more than happy to test it, or to donate any hardware as is necessary.

     
    • donate any hardware as is necessary

      since further updates of the plug-in are expected, a F3DISCOVERY board would make testing easier, so if you have a spare F3DISCOVERY board, your contribution will be appreciated.

      please contact me on ilg@livius.net for the contact details if/when you want to do it.

       
  • MrAras
    MrAras
    2013-11-09

    It appears to work.

    This is what I did:

    • copied my original Eclipse directory to a new location
    • "Install New Software" from http://gnuarmeclipse.sourceforge.net/updates-test
    • Installed "Cross Compiler Support" and "STM32Fx project templates"
    • created a new project "STM32F3xx StdPeriph Lib 1.0 C Project"
    • used "GNU Tools for ARM Embedded Processors Version: 4.7" from https://launchpad.net/gcc-arm-embedded as my build tools.
    • successfully compiled and linked both the Debug and the Release versions
    • successfully used OpenOCD to write the application to Flash on my STM32F3 Discovery board.
    • The LED was blinking on the board for both the Debug and Release versions
    • I have not tested the semi-hosting functionality as I don't know how to do that yet.
     
    • The LED was blinking on the board for both the Debug and Release versions

      great!

      I have not tested the semi-hosting functionality as I don't know how to do that yet.

      the preferred method is SWO, check if you can configure openocd to enable it, it works over swd, not jtag.

       
  • MrAras
    MrAras
    2013-11-09

    So far I couldn't get SWO working. The ST tools and this framework are new to me, so I've probably missed something. Maybe I didn't set the System Clock correctly in the Serial Wire Viewer in ST-LINK Utility. What should it be set to?

    I can get semihosting working though.

    In trace_impl.h I changed the printf output method to:

    //#define INCLUDE_TRACE_SWO
    #define INCLUDE_TRACE_SEMIHOSTING_STDOUT
    //#define INCLUDE_TRACE_SEMIHOSTING_DEBUG
    

    Clean, rebuild, reflash, run OpenOCD, Telnet to OpenOCD, "arm semihosting enable" "reset run" and I can see the messages on the OpenOCD terminal screen.

     
    Last edit: MrAras 2013-11-09
    • System Clock correctly in the Serial Wire Viewer in ST-LINK Utility

      unfortunately the ST utilities do not run on OS X, so I have no experience with them at all.

      on Segger J-Link GDB server configuration, the clock is automatically detected.

      I can see the messages on the OpenOCD terminal screen

      congratulations!

       
    • status: open-accepted --> closed
     
  • fixed in 1.1.5

     
    • status: closed --> closed-fixed
     
  • a new beta version of the plug-in, improving the F3 plug-in too, is available from

    http://gnuarmeclipse.sourceforge.net/updates-test

    it allows to choose between 3 types of syscalls usage.

    any comments will be highly appreciated.