Skip to content

VEE Port for STMicroelectronics STM32F7508-DK Discovery kit.

License

Notifications You must be signed in to change notification settings

MicroEJ/VEEPort-STMicroelectronics-STM32F7508-DK

Repository files navigation

sdk_5.x badge

arch_8.0 badge

gui_3 badge

VEE Port for STMicroelectronics STM32F7508-DK

This project is used to build a VEE Port for the STM32F7508-DK development board.

./images/stm32f7508-dk.png

It is recommended to read this tutorial before using the VEE Port: https://docs.microej.com/en/latest/Tutorials/tutorialUnderstandMicroEJFirmwareBuild.html

Related Files

This directory also contains:

  • CHANGELOG to track the changes in the MicroEJ STM32F7508-DK VEE Port
  • RELEASE NOTES to list:
    • the list of the dependencies and their versions.
    • the known issues and the limitations,
    • the development environment.
  • README MicroEJ BSP recommended for users familiar with the STMicroelectronics SDK and advanced usage on how to customize the build process.

Board Technical Specifications

Name STM32F7508-DK
MCU part number STM32F750N8H6
MCU architecture Arm Cortex-M7
MCU max clock frequency 216 MHz
Internal flash size 64 KB
Internal RAM size 340 KB
External flash size 128 Mb
External RAM size 64 Mb
Power supply ST-LINK USB VBUS or external sources

Here is a list of STM32F7508-DK useful documentation links:

  • Board documentation available here
  • MCU documentation available here

VEE Port Specifications

The Architecture version is 8.0.0 for GCC compiler and 8.0.0 for IAR compiler.

This VEE Port provides the following Foundation Libraries:

Foundation Library Version
BON 1.4
DEVICE 1.1
DRAWING 1.0
ECOM-NETWORK 2.1
ECOM-SOCKET 1.0
EDC 1.3
FS 2.1
HAL 1.0
KF 1.7
MICROUI 3.4
NET 1.1
NLS 2.0
PUMP 2.0
RESOURCEMANAGER 1.0
SECURITY 1.7
SNI 1.4
SP 2.0
SSL 2.2
TRACE 1.1
WADAPPS 1.0
WATCHDOG 1.0

The VEE Port is derived into:

  • a Mono-Sandbox VEE Port (default)
  • a Multi-Sandbox VEE Port

The VEE Port can be built using two toolchains:

  • GCC
  • IAR

Requirements

BSP Setup

Install at least one of the following C IDEs:

  • The STM32CubeIDE version 1.9.0 for STM32F7508-DK, available here (also requires STM32CubeProgrammer, available here)
  • The IAR EmbeddedWorkbench version 8.50.5 for STM32F7508-DK, available here

STM32CubeIDE Setup

  1. Install STM32CubeIDE.
  2. Install STM32CubeProgrammer.

IAR Embedded Workbench Setup

  1. Install IAR Embedded Workbench.
  2. Unzip the patch found here /stm32f7508_freertos-bsp/sdk/STM32CubeF7/Utilities/PC_Software/patch/EWARM/.
  3. Execute the self-extracting archive EWARM_v7_ValueLine_STM32F7x0x8_Supportv4.0.exe.
  4. Apply the extracted patch to IAR Embedded Workbench installation directory (e.g. C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.4/).

BSP Compilation

Before the first build of the BSP, ensure you have cloned the repository and all its submodules. To update git submodules, run the following command in "git submodule update --init --recursive" at the root of this project.

The VEE Port provides a pre-compiled Mono-Sandbox Application for each toolchain. Validate the BSP installation by compiling the BSP to build a MicroEJ Firmware.

Using the provided build scripts

To build the stm32f7508_freertos-bsp project, open a terminal:

  • If you are using the GCC toolchain go to the directory xxx/stm32f7508_freertos-bsp/projects/microej/SW4STM32.
  • If you are using the IAR toolchain go to the directory xxx/stm32f7508_freertos-bsp/projects/microej/EWARM.

Note

The build script expects the toolchain to be installed at a known path. If you installed it elsewhere or if you are using a different IDE version from the one listed above, see README MicroEJ BSP for how to customize its path.

Run the following commands:

On Windows:

$ build.bat

The BSP project build is launched. Please wait for the end of the build.

Using STM32CubeIDE

Import the projects in the workspace:

  • File > Import > General > Existing Projects into Workspace > Next
  • Point Select root directory to stm32f7508_freertos-bsp/projects/`
  • Click Finish

Build the BSP: - Right-click on application (in SW4STM32) project in your STM32CubeIDE workspace - Click on Build Project

Using IAR Embedded Workbench

Import the projects in the workspace:

  • File > Open workspace
  • Select application.eww from stm32f7508_freertos-bsp\projects\microej\EWARM
  • Click Open

Build the BSP: - Select Debug or Release from the dropdown in the Workspace view - Right-click on application and select Make

Board Setup

Please refer to the README MicroEJ BSP Board Configuration section for more details.

Power Supply

The board can be powered by a mini-USB cable.

Programming

The STM32F7508-DK board can be flashed using STMicroelectronics bootloader. Please Follow the steps below:

  • Connect the USB connector of the board to your computer.
  • Open a terminal.
  • If you are using the GCC toolchain go to the directory xxx/stm32f7508_freertos-bsp/projects/microej/SW4STM32.
  • If you are using the IAR toolchain go to the directory xxx/stm32f7508_freertos-bsp/projects/microej/EWARM.

To ensure that your board is detected by your PC, open your Windows device manager and check at your ports, you should see the STMicroelectronics STLink Virtual COM port (COMx where x is the number of the port).

On Windows:

$ run.bat

The firmware is launched.

STM32F7508-DK build and flash documentation are also available in the README MicroEJ BSP for more details.

Logs Output

VEE Port uses the virtual UART from the STM32F7508-DK USB port. A COM port is automatically mounted when the board is plugged to a computer using USB cable. All board logs are available through this COM port.

The COM port uses the following parameters:

Baudrate 115200
Data bits bits 8
Parity bits None
Stop bits 1
Flow control None

If flashed, the pre-compiled application outputs Hello World on the UART.

When running a Testsuite, logs must be redirected to a secondary UART port. Please refer to Testsuite Configuration for a detailed explanation.

Debugging

A JTAG interface is also directly available through the USB interface.

Please refer to the README MicroEJ BSP section debugging for more details.

VEE Port Setup

VEE Port Import

Import the projects in MICROEJ SDK Workspace:

  • File > Import > General > Existing Projects into Workspace > Next
  • Point Select root directory to where the project was cloned.
  • Click Finish

Inside MICROEJ SDK, the selected example is imported as several projects prefixed by the given name:

  • stm32f7508_freertos-configuration: Contains the VEE Port configuration description. Some modules are described in a specific sub-folder / with some optional configuration files (.properties and / or .xml).
  • stm32f7508_freertos-bsp: Contains a ready-to-use BSP software project for the STM32F7508-DK board, including a MICROEJ SDK project, an implementation of MicroEJ core engine (and extensions) port on FreeRTOS RTOS and the STM32F7508-DK board support package.
  • stm32f7508_freertos-fp: Contains the board description and images for the Simulator. This project is updated once the VEE Port is built.
  • STM32F7508-Platform-CM7hardfp_GCC48-{version}: Contains the MICROEJ SDK VEE Port project for the GCC toolchain which is empty by default until the VEE Port is built. This VEE Port project will be the one built by default. To build using IAR toolchain instead, please see the note below.
  • STM32F7508-Platform-CM7hardfp_IAR83-{version}: Contains the MICROEJ SDK VEE Port project for the IAR toolchain which is empty by default until the VEE Port is built. This VEE Port project will not be the one used by default. To build using IAR toolchain instead, please see the note below.

By default, the VEE Port is configured as a Mono-Sandbox Evaluation VEE Port which will allow you to run any application on the Simulator. However, to be able to run an application on the Device you need a license, if you don't have one, follow the procedure described here.

Note

The default toolchain is GCC.
If you want to switch to the IAR toolchain:
  • Open stm32f7508_freertos-configuration/module.properties and follow its documentation to set the xpf.name, xpf.toolchain.name and xpf.version properties.

Note

To build a Multi-Sandbox VEE Port, open stm32f7508_freertos-configuration/STM32F7508.platform, go to the Content tab and check Multi Applications.

VEE Port Build

To build the VEE Port, please follow the steps below:

  • Right-click on stm32f7508_freertos-configuration project in your MICROEJ SDK workspace.
  • Click on Build Module

The build starts. This step may take several minutes. The first time, the VEE Port build requires to download modules that are available on the MicroEJ Central Repository. You can see the progress of the build steps in the MicroEJ console.

Please wait for the final message:

BUILD SUCCESSFUL

At the end of the execution the VEE Port is fully built for the STM32F7508-DK board and is ready to be linked into the MICROEJ SDK project.

The VEE Port project should be refreshed with no error in the MICROEJ SDK STM32F7508-Platform-CM7hardfp_GCC48-{version}, or STM32F7508-Platform-CM7hardfp_IAR83-{version} if you changed the toolchain for IAR.

Note

If the VEE Port still shows an error, proceed to a manual refresh of the MicroEJ SDK package explorer (right click in the package explorer -> Refresh)

Please refer to https://docs.microej.com/en/latest/PlatformDeveloperGuide/platformOverview.html#build-process for more details about the VEE Port build process

Please refer to https://docs.microej.com/en/latest/ApplicationDeveloperGuide/standaloneApplication.html for more information on how to build a MicroEJ Standalone Application.

Testsuite Configuration

To run a Testsuite on the STM32F7508-DK board please refer to the testsuite tutorial here

In config.properties, the property target.platform.dir must be set to the absolute path to the VEE Port. For example C:/STMicroelectronics-STM32F7508-DK/STM32F7508-Platform-CM7hardfp_GCC48-{version}/source.

Troubleshooting

Files not found during the build

Errors about files not found during the build may be caused by long path. Please refer to the known issues and limitations in the RELEASE NOTES for a workaround.