The X-CUBE-ISP package provides the functionnality to control and tune the
DCMIPP ISP present in the STM32N6x products.
It contains:
- An embedded ISP Library middleware (running on the target) hosting 2A
algorithms (Auto Exposure and Auto White Blance) and mechanisms to control
the ISP and load sensor tuning file.
X-CUBE-ISP/Middlewares/ST/STM32_ISP_Library
- A tuning application (running on the target) that allows to interact
with the STM32 ISP IQTune desktop application executed on the host computer
and connected through usb.
X-CUBE-ISP/Projects/DCMIPP_ISP/ISP_IQTune_App
To take control of the DCMIPP ISP:
- The host computer must execute the STM32 ISP IQTune desktop application and connect to the target thanks to an USB-C cable on the USB1 (CN18) connector of the board.
- The ISP IQTune App must be loaded and launched on the target.
Getting started with X-CUBE-ISP Wiki article
This repository has been created using the git submodule
command. Please check the instructions below for proper use. Please check also the notes at the end of this section for further information.
- To clone this repository along with the linked submodules, option
--recursive
has to be specified as shown below.
git clone --recursive https://github.com/STMicroelectronics/x-cube-isp.git
- To get the latest updates, in case this repository is already on your local machine, issue the following two commands (with this repository as the current working directory).
git pull
git submodule update --init --recursive
README Content
- Features demonstrated
- Hardware Support
- Tools version
- Boot modes
- Quickstart using prebuilt binaries
- Quickstart using source code
- Known Issues and Limitations
- Documentation
- Control of all ISP parameters via desktop application
- Image analysis function for camera sensor tuning
- Generation of sensor ISP tuning file
- Embedded Auto Exposure algorithm (AE)
- Embedded Auto White Balance algorithm (AWB)
- STM32 ISP IQTune application
-
MB1939 STM32N6570-DK board
- The board should be connected to the onboard ST-LINK debug adapter CN6 with a USB-C to USB-C cable to ensure sufficient power
- An additionnal USB-C cable to connect USB1 (CN18) to the host computer for the STM32 ISP IQTune desktop application connection
-
2 camera modules are supported:
- MB1854B IMX335 (Default camera provided with the MB1939 STM32N6570-DK board)
- STEVAL-66GYMAI VD66GY camera module
Note:
- The support of customer sensors is possible since customer respect the driver and integration format of the Camera Middleware.
This package is compatible with the following tool version:
- STM32CubeIDE (v1.17.0)
- STM32CubeProgrammer (v2.18.0)
The STM32N6 does not have any internal flash. To retain your firmware after
reboot, you must program it in the external flash. Alternatively, you can load
your firmware directly from SRAM (dev mode).
In dev mode, if you turn off the board, your program will be lost.
Boot modes:
- Dev mode: load firmware from debug session in RAM (BOOT1 switch to the right, BOOT0 switch position doesn't matter)
- Boot from flash: Program firmware in external flash (BOOT0 and BOOT1 switch to the left)
The X-CUBE-ISP/Projects/DCMIPP_ISP/Binary
directory hosts the ISP IQTune
prebuilt application which is the tuning application (running on the target)
that allows to interact with the STM32 ISP IQTune application executed on the
host computer and connected through usb.
Applications is available for MB1939 STM32N6570-DK board.
- Toggle BOOT1 switch to right position
- Program
X-CUBE-ISP/Projects/DCMIPP_ISP/Bin/STM32N6_ISP_IQTune_App-v1.0.0-trusted.bin
- Toggle BOOT0 and BOOT1 switch to left position
- Reset board
Note:
- To program the signed binary follow the steps described in Program bin files using command line
Make sure the boot switchs are in dev mode (BOOT1 is on the right side).
Double click on X-CUBE-ISP/Projects/DCMIPP_ISP/ISP_IQTune_App/STM32N6570-DK/STM32CubeIDE/.project
to open project in STM32CubeIDE. Build and run with build and run buttons.
The software is natively compatible with the MB1854B IMX335 and STEVAL-66GYMAI VD66GY camera modules. Simply change the camera module and restart the software. No software reconfiguration is needed.
Note:
- For customer camera module, the sensor driver must be added in the Camera Middleware and a first tuning must be performed with the STM32 ISP IQTune desktop application to generate the final isp_param_conf.h that can be updated.
Make sure the STM32CubeProgrammer bin folder is added to your path.
STM32MP_SigningTool_CLI -bin STM32CubeIDE/release/STM32N6_ISP_IQTune_App.bin -nk -t fsbl -hv 2.3 -o STM32N6_ISP_IQTune_App-trusted.bin
Make sure the STM32CubeProgrammer bin folder is added to your path.
export DKEL="<STM32CubeProgrammer_N6 Install Folder>/bin/ExternalLoader/MX66UW1G45G_STM32N6570-DK.stldr"
STM32_Programmer_CLI -c port=SWD mode=HOTPLUG ap=1 -el $DKEL -hardRst -w X-CUBE-ISP/Projects/DCMIPP_ISP/Bin/STM32N6_ISP_IQTune_App-trusted.bin 0x70000000
- In rare situations, Auto White Balance (AWB) algorithm can flicker between 2 AWB profiles*
\* Fix is under preparation