This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
manual:demos:stm32f3_discovery_iar [2018/06/11 22:18] voorburg [Development Environment] |
manual:demos:stm32f3_discovery_iar [2020/02/06 16:29] voorburg |
||
---|---|---|---|
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 ^ |
| No | No | Yes | No | No | | | No | No | Yes | No | No | | ||
Line 16: | Line 16: | ||
To compile the demo programs you can use the [[http://www.iar.com/|IAR Embedded Workbench for ARM]] development environment. | To compile the demo programs you can use the [[http://www.iar.com/|IAR Embedded Workbench for ARM]] development environment. | ||
- | ===== Toolchain configuration ===== | ||
- | |||
- | 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 path, then the **TOOL_PATH** variable can be left empty. | ||
- | |||
- | {{:manual:demos:makefile_toolpath.png?nolink&|}} | ||
- | |||
- | |||
- | It is assumed that tools such as GNU //make// and //rm// are installed and available on the path. For (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]]. | ||
===== Building and programming the Bootloader ===== | ===== Building and programming the Bootloader ===== | ||
Line 29: | Line 21: | ||
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. | 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. | ||
- | To build the bootloader, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\Boot\** and run the command: | + | When using IAR EWARM, simply open the workspace from within the Embedded Workbench. The workspace file (stm32f303.eww) is located at: \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_IAR\**Boot**\ide\. Once opened, select //Project->Rebuild All// from the menu to compile all the bootloader sources and link them together into the final executable. |
- | <code> | + | The bootloader program is now ready to be programmed into the internal flash memory of the STM32F303. Make sure the ST-Link Debugger Interface on the STM32F0-Discovery board is connected to your PC via a USB cable. Next, select //Project -> Download and Debug (Ctrl+D)// from the menu to flash the bootloader program. Once done, you can start the bootloader program by selecting //Debug -> Go (F5)// from the menu. |
- | make clean all | + | |
- | </code> | + | |
- | + | ||
- | The expected output is: | + | |
- | <code> | + | 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: |
- | +++ 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> | + | |
- | 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_IAR\**Boot**\bin\**openblt_stm32f303.out** |
- | + | * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_IAR\**Boot**\bin\**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 ===== | ||
- | To build the user program, open a command prompt in directory **\Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_GCC\Prog\** and run the command: | + | When using IAR EWARM, simply open the workspace from within the Embedded Workbench. The workspace file (stm32f303.eww) is located at: \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_IAR\**Prog**\ide\. Once opened, select //Project->Rebuild All// from the menu to compile all the demo program sources and link the together into the final executable. |
- | + | ||
- | <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_GCC\**Prog**\bin\**demoprog_stm32f303.srec** | + | * \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_IAR\**Prog**\bin\**demoprog_stm32f303.srec** |
===== Firmware update procedure ===== | ===== Firmware update procedure ===== | ||
- | 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: | + | To download the demo program \Target\Demo\ARMCM4_STM32F3_Discovery_F303VC_IAR\**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. |