This article describes how to run FP-AI-VISION1 projects on STM32H747I-DISCO kits with MB1166-A09 LCD daughterboard, using People Counting demo. The focus is on showing how to incorporate the updated LCD driver into existing projects. Further, if you only get static on the LCD as shown below, this article may be helpful.
1. Prerequisites
1.1. Hardware
- A Micro-USB to USB cable
- B-CAMS-OMV
- STM32H747I-DISCO with MB1166-A09 LCD daughterboard as shown below
1.2. Software
2. Hardware Setup
Connect B-CAMS-OMV camera to STM32H747I-DISCO using the Flexible Flat Cable (FFC). Ensure that the FFC is securely attached to both the ZIF connectors, and that the orientation is as shown in the image below (highlighted in yellow).
Next, attach the USB cable to the USB port labelled as "STLINK-V3E", as shown in the image below (highlighted in blue).
3. Import Project
3.1. Process
The project can be imported into STM32CubeIDE by simply opening the .project file located at ..\FP-AI-VISION1_V3.1.0\Projects\STM32H747I-DISCO\Applications\PeopleCounting\STM32CubeIDE\.project
by following the steps below:
- Double click the .project file
- STM32CubeIDE will prompt for workspace directory, as shown below. Select an appropriate location and press Launch. STM32CubeIDE will let you know once the project has been successfully imported. Press OK to proceed.
- You will now see the project under the Project Explorer.
3.2. Directory Overview
Since this project is being deployed on the STM32H747XI MCU which has an Arm® Cortex®-M7 core, we will only be working with the CM7 directory. This directory contains the source code specific to the People Counting project. Detailed information about the organization of this directory is available in Section 3.2 of UM2611: Artificial Intelligence (AI) and computer vision function pack for STM32H7 microcontrollers.
4. Update Drivers (Only if using )
- Download drivers from the (1) STM32CubeH7 GitHub repo by clicking on (2) "Code", and then (3)"Download ZIP", as shown in the image below.
- Extract the contents of
STM32CubeH7-master.zip
to a local directory. - Copy
..\STM32CubeH7-master\Drivers\BSP\Components\nt35510
directory to..\FP-AI-VISION1_V3.1.0\Drivers\BSP\Components\
- Copy
..\STM32CubeH7-master\Drivers\BSP\STM32H747I-DISCO\stm32h747i_discovery_lcd.c
and..\STM32CubeH7-master\Drivers\BSP\STM32H747I-DISCO\stm32h747i_discovery_lcd.h
, and paste both into..\FP-AI-VISION1_V3.1.0\Drivers\BSP\STM32H747I-Discovery\
- Use a text editor to open
..\FP-AI-VISION1_V3.1.0\Projects\STM32H747I-DISCO\Applications\Common\CM7\Inc\stm32h747i_discovery_conf.h
. On line 34, add a #define for NT35510, and change the OTM8009A #define to 0, as follows:/* LCD controllers defines */ #define USE_LCD_CTRL_NT35510 1U #define USE_LCD_CTRL_OTM8009A 0U #define USE_LCD_CTRL_ADV7533 0U
- From the
FP-AI-VISION1_V3.1.0\Drivers\BSP\Components\nt35510
directory, select the four source files as shown in the image below, and drag and drop the selected files to the components directory in STM32CubeIDE.
- Then in the pop-up window, keep “Link to files” and click OK.
- Drivers should now be indexed into the project
- Then in the pop-up window, keep “Link to files” and click OK.
5. Build & Flash
Right click the project, then (1) Clean and (2) Build the project. The project should build without errors. Now you can click the (3) Run icon to flash and execute the project.
6. References
Vision Pack Video Application Notes
UM2611: Artificial Intelligence (AI) and computer vision function pack for STM32H7 microcontrollers