Skip to content

Commit bd12a4c

Browse files
committed
Initial version of the very first ST Zephyr module
1 parent a0b54d4 commit bd12a4c

File tree

13 files changed

+645
-1
lines changed

13 files changed

+645
-1
lines changed

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "stm32-mw-isp"]
2+
path = stm32-mw-isp
3+
url = https://github.com/STMicroelectronics/stm32-mw-isp.git
4+
branch = main

CMakeLists.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
##############################################################################
2+
# @file CMakeLists.txt
3+
# @author GPM Application Team
4+
#
5+
##############################################################################
6+
# @attention
7+
#
8+
# Copyright (c) 2025 STMicroelectronics.
9+
# All rights reserved.
10+
#
11+
# This software is licensed under terms that can be found in the LICENSE file
12+
# in the root directory of this software component.
13+
# If no LICENSE file comes with this software, it is provided AS-IS.
14+
#
15+
##############################################################################
16+
17+
if (CONFIG_USE_STM32_MW_ISP)
18+
# bring stm32-mw-isp libraries, code and interface
19+
target_link_directories(app PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/stm32-mw-isp/evision/Lib)
20+
21+
zephyr_link_libraries(n6-evision-awb_gcc n6-evision-st-ae_gcc)
22+
23+
zephyr_include_directories(stm32-mw-isp/isp/Inc
24+
stm32-mw-isp/evision/Inc)
25+
26+
zephyr_library_sources(stm32-mw-isp/isp/Src/isp_core.c
27+
stm32-mw-isp/isp/Src/isp_algo.c
28+
stm32-mw-isp/isp/Src/isp_cmd_parser.c
29+
stm32-mw-isp/isp/Src/isp_services.c
30+
stm32-mw-isp/isp/Src/isp_tool_com.c)
31+
32+
# bring dcmipp driver / stm32-mw-isp glue code
33+
zephyr_include_directories(isp_wrapper/inc)
34+
zephyr_library_sources(isp_wrapper/src/isp_wrapper.c)
35+
endif()

CODE_OF_CONDUCT.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team via this [link](https://www.st.com/content/st_com/en/contact-us.html).
59+
All complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4,
71+
available [here](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
72+
73+
For answers to common questions about this code of conduct, refer to the FAQ section [here](https://www.contributor-covenant.org/faq).

CONTRIBUTING.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Contributing guide
2+
3+
Although we value the community's feedback, please note that **neither** issues **nor** pull requests submitted to this repository will be **addressed or acted upon**. This module is provided **as-is** and is **not necessarily supported** by ST.
4+
5+
For any questions or feedback, please submit them to the ST Community in the appropriate [forum](https://community.st.com/t5/product-forums/ct-p/product-forums).

Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
##############################################################################
2+
# @file Kconfig
3+
# @author GPM Application Team
4+
#
5+
##############################################################################
6+
# @attention
7+
#
8+
# Copyright (c) 2025 STMicroelectronics.
9+
# All rights reserved.
10+
#
11+
# This software is licensed under terms that can be found in the LICENSE file
12+
# in the root directory of this software component.
13+
# If no LICENSE file comes with this software, it is provided AS-IS.
14+
#
15+
##############################################################################
16+
17+
config USE_STM32_MW_ISP
18+
bool "Enable isp middleware"
19+
depends on VIDEO_STM32_DCMIPP
20+
select FPU

LICENSE.md

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
This software component is provided to you as part of a software package and
2+
applicable license terms are in the Package_license file. If you received this
3+
software component outside of a package or without applicable license terms,
4+
the terms of the SLA0044 license shall apply and are fully reproduced below:
5+
6+
SLA0044 Rev5/February 2018
7+
8+
Software license agreement
9+
10+
ULTIMATE LIBERTY SOFTWARE LICENSE AGREEMENT
11+
12+
BY INSTALLING, COPYING, DOWNLOADING, ACCESSING OR OTHERWISE USING THIS SOFTWARE
13+
OR ANY PART THEREOF (AND THE RELATED DOCUMENTATION) FROM STMICROELECTRONICS
14+
INTERNATIONAL N.V, SWISS BRANCH AND/OR ITS AFFILIATED COMPANIES
15+
(STMICROELECTRONICS), THE RECIPIENT, ON BEHALF OF HIMSELF OR HERSELF, OR ON
16+
BEHALF OF ANY ENTITY BY WHICH SUCH RECIPIENT IS EMPLOYED AND/OR ENGAGED AGREES
17+
TO BE BOUND BY THIS SOFTWARE LICENSE AGREEMENT.
18+
19+
Under STMicroelectronics’ intellectual property rights, the redistribution,
20+
reproduction and use in source and binary forms of the software or any part
21+
thereof, with or without modification, are permitted provided that the following
22+
conditions are met:
23+
24+
1. Redistribution of source code (modified or not) must retain any copyright
25+
notice, this list of conditions and the disclaimer set forth below as items 10
26+
and 11.
27+
28+
2. Redistributions in binary form, except as embedded into microcontroller or
29+
microprocessor device manufactured by or for STMicroelectronics or a software
30+
update for such device, must reproduce any copyright notice provided with the
31+
binary code, this list of conditions, and the disclaimer set forth below as
32+
items 10 and 11, in documentation and/or other materials provided with the
33+
distribution.
34+
35+
3. Neither the name of STMicroelectronics nor the names of other contributors to
36+
this software may be used to endorse or promote products derived from this
37+
software or part thereof without specific written permission.
38+
39+
4. This software or any part thereof, including modifications and/or derivative
40+
works of this software, must be used and execute solely and exclusively on or in
41+
combination with a microcontroller or microprocessor device manufactured by or
42+
for STMicroelectronics.
43+
44+
5. No use, reproduction or redistribution of this software partially or totally
45+
may be done in any manner that would subject this software to any Open Source
46+
Terms. “Open Source Terms” shall mean any open source license which requires as
47+
part of distribution of software that the source code of such software is
48+
distributed therewith or otherwise made available, or open source license that
49+
substantially complies with the Open Source definition specified at
50+
www.opensource.org and any other comparable open source license such as for
51+
example GNU General Public License (GPL), Eclipse Public License (EPL), Apache
52+
Software License, BSD license or MIT license.
53+
54+
6. STMicroelectronics has no obligation to provide any maintenance, support or
55+
updates for the software.
56+
57+
7. The software is and will remain the exclusive property of STMicroelectronics
58+
and its licensors. The recipient will not take any action that jeopardizes
59+
STMicroelectronics and its licensors' proprietary rights or acquire any rights
60+
in the software, except the limited rights specified hereunder.
61+
62+
8. The recipient shall comply with all applicable laws and regulations affecting
63+
the use of the software or any part thereof including any applicable export
64+
control law or regulation.
65+
66+
9. Redistribution and use of this software or any part thereof other than as
67+
permitted under this license is void and will automatically terminate your
68+
rights under this license.
69+
70+
10. THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" AND
71+
ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
72+
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
73+
NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS, WHICH ARE
74+
DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT SHALL
75+
STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
76+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
77+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
78+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
79+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
80+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
81+
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
82+
83+
11. EXCEPT AS EXPRESSLY PERMITTED HEREUNDER, NO LICENSE OR OTHER RIGHTS, WHETHER
84+
EXPRESS OR IMPLIED, ARE GRANTED UNDER ANY PATENT OR OTHER INTELLECTUAL PROPERTY
85+
RIGHTS OF STMICROELECTRONICS OR ANY THIRD PARTY.

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,60 @@
1-
# zephyr-stm32-mw-isp
1+
# Zephyr STM32 Image Signal Processing (ISP) Module
2+
3+
This module provides the necessary code and libraries to enable Image Signal Processing (ISP) support for Zephyr RTOS. It is compatible with the Zephyr STM32 DCMIPP driver.
4+
5+
## Module Components
6+
7+
The module consists of the following components:
8+
9+
1. **ISP Middleware Stack**
10+
Located in the `stm32-mw-isp` directory, this stack provides the core ISP functionality.
11+
> **Note:** This code is provided as a submodule. Ensure that you include `submodules: true` in your `west.cfg` manifest file.
12+
13+
2. **Glue Code**
14+
Found in the `isp_wrapper` directory, this code bridges the Zephyr DCMIPP driver and the ISP middleware stack.
15+
16+
## How to Use the Module
17+
18+
### 1. Add the Module to Your West Manifest
19+
20+
Include the following lines in the `projects` section of your `west.yml` manifest file. Adjust the `name`, `path`, and `revision` fields as needed for your project:
21+
22+
```yaml
23+
- name: zephyr-stm32-mw-isp
24+
url: https://github.com/stm32-hotspot/zephyr-stm32-mw-isp.git
25+
revision: main
26+
path: st/lib/zephyr-stm32-mw-isp
27+
submodules: true
28+
```
29+
30+
### 2. Enable the Module in Your Project Configuration
31+
32+
Add the following line to your project's `prj.conf` file to enable the ISP module:
33+
34+
```
35+
CONFIG_USE_STM32_MW_ISP=y
36+
```
37+
38+
### 3. Build and Run
39+
40+
After completing the above steps, build your Zephyr project as usual. The ISP module will be included and configured automatically.
41+
For instance, to run `samples/drivers/video/capture` sample on `stm32n6570_dk`, use the following:
42+
```
43+
west build -p always -b stm32n6570_dk/stm32n657xx --sysbuild samples/drivers/video/capture -- -DSHIELD=st_b_cams_imx_mb1854
44+
west flash
45+
```
46+
47+
## Additional Notes
48+
49+
- Ensure that the `stm32-mw-isp` submodule is initialized and updated by running the following command in your project directory:
50+
```
51+
west update
52+
```
53+
- For detailed documentation on the ISP middleware stack, refer to the `stm32-mw-isp` directory.
54+
55+
## Compatibility
56+
57+
This module is designed to work seamlessly with the STM32 DCMIPP driver in Zephyr RTOS starting [release v4.2.0](https://github.com/zephyrproject-rtos/zephyr/tree/v4.2.0).
58+
Ensure that your hardware and software configurations are compatible with the STM32 DCMIPP driver requirements.
59+
60+
---

SECURITY.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Report potential product security vulnerabilities
2+
3+
ST places a high priority on security, and our Product Security Incident Response Team (PSIRT) is committed to rapidly addressing potential security vulnerabilities affecting our products. PSIRT's long history and vast experience in security allows ST to perform clear analyses and provide appropriate guidance on mitigations and solutions when applicable.
4+
5+
If you wish to report potential security vulnerabilities regarding our products, **please do not report them through public GitHub issues.** Instead, we encourage you to report them to our ST PSIRT following the process described at: **https://www.st.com/content/st_com/en/security/report-vulnerabilities.html**
6+
7+
8+
9+
### IMPORTANT - READ CAREFULLY:
10+
11+
STMicroelectronics International N.V., on behalf of itself, its affiliates and subsidiaries, (collectively “ST”) takes all potential security vulnerability reports or other related communications (“Report(s)”) seriously. In order to review Your Report (the terms “You” and “Yours” include your employer, and all affiliates, subsidiaries and related persons or entities) and take actions as deemed appropriate, ST requires that we have the rights and Your permission to do so.
12+
13+
As such, by submitting Your Report to ST, You agree that You have the right to do so, and You grant to ST the rights to use the Report for purposes related to security vulnerability analysis, testing, correction, patching, reporting and any other related purpose or function.
14+
15+
By submitting Your Report, You agree that ST’s [Privacy Policy](https://www.st.com/content/st_com/en/common/privacy-portal.html) applies to all related communications.

0 commit comments

Comments
 (0)