User Tools

Site Tools


manual:demos:stm32f3_discovery_gcc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:demos:stm32f3_discovery_gcc [2018/06/11 15:30]
voorburg [Development Environment]
manual:demos:stm32f3_discovery_gcc [2023/12/04 22:25] (current)
voorburg [Supported firmware update interfaces]
Line 3: Line 3:
 ===== Supported firmware update interfaces ===== ===== Supported firmware update interfaces =====
  
-UART           ^ CAN             ​^ USB          ^ TCP/​IP ​      ​^ SD-card ​     ^ +RS232         ^ CAN            ^ USB         ​^ TCP/​IP ​     ^ SD-card ​     ​^ Modbus RTU   
-| No             ​| No              | Yes           ​| No           | No           |+| No            | No             ​| Yes         | No          ​| No           | No           |
  
 ===== Development Environment ===== ===== Development Environment =====
Line 16: Line 16:
 To build the demo programs you can use the [[https://​developer.arm.com/​open-source/​gnu-toolchain/​gnu-rm|GNU ARM Embedded]] toolchain. To build the demo programs you can use the [[https://​developer.arm.com/​open-source/​gnu-toolchain/​gnu-rm|GNU ARM Embedded]] toolchain.
  
-===== Workspace creation in TrueStudio ​=====+===== Toolchain configuration ​=====
  
-Two demo projects ​are included in the OpenBLT bootloader package. One for the bootloader itself and one for the demo user programThis user program ​is configured such that it can be programmed, into the internal flash memory of the microcontrollerduring a firmware update with the bootloader.+The demo programs ​are configured ​for building with a Makefile. Before attempting to perform a build, update ​the location of the toolchain binaries (i.e. //​arm-none-eabi-gcc//​) in the Makefile. It is set in variable **TOOL_PATH**. If the toolchain binaries are available on the paththen the **TOOL_PATH** variable can be left empty.
  
-The first step in getting the the bootloader up-and-running,​ is the creation of the Eclipse workspace in TrueStudio. After starting TrueStudio, you are prompted to open a workspace. It is easiest to create a new one in the following directory: .\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\+{{:​manual:​demos:makefile_toolpath.png?​nolink&​|}}
  
-{{:​manual:​demos:​stm32f3_discovery_truestudio_workspace_creation.png?​600|}} 
  
-To import the demo programs into the workspace, select ​//File -> Import// from the program menuThen select ​//General ​-> Existing Projects into Workspace//. On the next screen you select the following directory as the root directory: .\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\Eclipse will automatically find the **Boot** and **Prog** projects and select them: +It is assumed that tools such as GNU //make// and //rm// are installed and available on the pathFor (Ubuntu) Linux users this can be achieved by running command: ​//sudo apt-get install build-essential//. Windows users can install ​the [[https://​gnu-mcu-eclipse.github.io/windows-build-tools/|GNU MCU Eclipse Windows Build Tools]].
- +
-{{:​manual:​demos:​stm32f3_discovery_truestudio_project_import.png?​600|}} +
- +
-Click the //Finish// button to complete the project import operation.+
  
 ===== Building and programming the Bootloader ===== ===== Building and programming the Bootloader =====
  
-Before the bootloader can be used, it needs to be built and programmed into the STM32F303VC's internal flash memory. The steps in this section only need to be done once.+Before the bootloader can be used, it needs to be built and programmed into the STM32F303's internal flash memory. The steps in this section only need to be done once.
  
-Set the project as the active project ​in Eclipse. This is achieved by clicking the **Boot** ​project in the //Project Explorer// to select it. Next, select //Project -> Rebuild Project// from the menu to compile all the bootloader sources ​and link them together into the final executable.+To build the bootloader, open a command prompt ​in directory ​**\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\Boot\** and run the command:
  
-The bootloader program is now ready to be programmed into the internal flash memory of the STM32F303VC microcontroller. Make sure the STM32F3-Discovery board is connected to your PC using a USB cable on the USB ST-LINK connector. Next, select //Run -Debug// from the menu to flash the bootloader program. This will launch the Debug perspective in Eclipse. Once done, you can start the bootloader program by selecting //Run -Resume// from the menu.+<code> 
 +make clean all 
 +</code> 
 +  
 +The expected output is:
  
-Alternatively,​ you can use your favorite programmer to flash the bootloader using one of the following files, depending on what file type your programmer supports:+<​code>​ 
 ++++ Cleaning build environment 
 ++++ Clean complete 
 ++++ Assembling [startup_stm32f303xc.s] 
 ++++ Compiling [main.c] 
 ++++ Compiling [hooks.c] 
 +... 
 ++++ Linking [openblt_stm32f303.elf] 
 +... 
 ++++ Build complete [openblt_stm32f303.srec] 
 +</​code>​
  
-  ​* \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\**Boot**\Debug\**openblt_stm32f303.elf** +The bootloader program is now ready to be programmed into the internal flash memory of the STM32F303. Using your favorite programmer (i.e. OpenOCD or STM32 ST-Link utility), flash the bootloader using one of the following files, depending on what file type your programmer supports: 
-  * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\**Boot**\Debug\**openblt_stm32f303.srec**+ 
 +  ​* \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\**Boot**\bin\**openblt_stm32f303.elf** 
 +  * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\**Boot**\bin\**openblt_stm32f303.srec**
  
 ===== Building the Demo Program ===== ===== Building the Demo Program =====
  
-Set the project as the active project ​in Eclipse. This is achieved by clicking the **Prog** ​project in the //Project Explorer// to select itNext, select ​//Project -Rebuild Project// from the menu to compile all the user program sources and link them together into the final executable.+To build the user program, open a command prompt ​in directory ​**\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\Prog\** and run the command: 
 + 
 +<​code>​ 
 +make clean all 
 +</code> 
 +  
 +The expected output is: 
 + 
 +<​code>​ 
 ++++ Cleaning build environment 
 ++++ Clean complete 
 ++++ Assembling [startup_stm32f303xc.s] 
 ++++ Compiling [timer.c] 
 ++++ Compiling [main.c] 
 +... 
 ++++ Linking [demoprog_stm32f303.elf] 
 +... 
 ++++ Build complete [demoprog_stm32f303.srec] 
 +</code>
  
 The output file is The output file is
  
-  * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\**Prog**\Debug\**demoprog_stm32f303.srec**+  * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\**Prog**\bin\**demoprog_stm32f303.srec** 
  
 ===== Firmware update procedure ===== ===== Firmware update procedure =====
  
-To download the demo program \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_TrueStudio\**Prog**\Debug\**demoprog_stm32f303.srec** using the bootloader, follow the instructions in the following links, depending on the communication interface you intend to use:+To download the demo program \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\**Prog**\bin\**demoprog_stm32f303.srec** using the bootloader, follow the instructions in the following links, depending on the communication interface you intend to use:
  
   * [[manual:​usb_demo|Firmware updates using the USB communication interface]]   * [[manual:​usb_demo|Firmware updates using the USB communication interface]]
  
 For firmware updates via USB, keep in mind that the USB cable should be connected to the USB USER connector on the board and not the USB ST-LINK connector. For firmware updates via USB, keep in mind that the USB cable should be connected to the USB USER connector on the board and not the USB ST-LINK connector.
manual/demos/stm32f3_discovery_gcc.1528723842.txt.gz · Last modified: 2019/09/24 22:13 (external edit)