arch/arm/n32h7: Add N32H762IIL7 BSP with USBHS, SDMMC, CORDIC and CMake preset helper - #20102
Open
Felix-LJY wants to merge 1 commit into
Open
arch/arm/n32h7: Add N32H762IIL7 BSP with USBHS, SDMMC, CORDIC and CMake preset helper#20102Felix-LJY wants to merge 1 commit into
Felix-LJY wants to merge 1 commit into
Conversation
Felix-LJY
requested review from
Donny9,
acassis,
anchao,
jerpelea,
raiden00pl,
simbit18 and
xiaoxiang781216
as code owners
September 10, 2026 09:50
acassis
previously approved these changes
Sep 10, 2026
Contributor
|
@Felix-LJY please squash your change into one patch or organize your patch into individual driver and remove the temp change. |
Author
@xiaoxiang781216 I have:
I would appreciate any further feedback when you have time. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a complete Board Support Package (BSP) for the
N32H762IIL7 (ARM Cortex-M7 @ 600MHz) from Nations Technologies,
including chip-level and board-level support, peripheral drivers,
documentation, and a CMake preset helper for VS Code users.
The port is a from-scratch implementation based solely on the
manufacturer's reference manual (TRM). No proprietary SDK code is
used.
Functional areas affected:
arch/arm/src/n32h7/ (new chip support)
arch/arm/include/n32h7/ (new header files)
boards/arm/n32h7/n32h762iil7/ (new board support)
Documentation/platforms/arm/n32h7/ (new documentation)
tools/generate_cmake_presets.py (new helper script)
CMakeLists.txt (small integration)
Completed drivers:
GPIO, EXTI, RCC, UART (console), TIM, PWM, ONESHOT, TICKLESS,
DMA, FLASH (MTD), CAPTURE, USBHS (Device and Host), CORDIC,
SDMMC (ADMA2, FATFS verified), UID, WDT, RTC.
Not yet ported:
I2C, SPI, ADC, DAC, CAN/FDCAN, ETH.
References:
Initial mailing list announcement:
https://www.mail-archive.com/dev@nuttx.apache.org/msg14861.html
Follow-up mailing list thread:
https://www.mail-archive.com/dev@nuttx.apache.org/msg15060.html
Impact
Is new feature added? YES - Adds support for a new SoC (N32H7) and
a new board (N32H762IIL7).
Impact on user? NO - Existing boards are unaffected. The new port
is self-contained under arch/arm/src/n32h7/ and boards/arm/n32h7/.
Impact on build? YES (minor) - A new Python script
(tools/generate_cmake_presets.py) and a small integration in the
root CMakeLists.txt are added. The script only runs if
generated_board_presets.json is missing, and it does not affect
existing build flows. Users who prefer to pass -DBOARD_CONFIG=...
manually are unaffected.
Impact on hardware? YES - A new architecture family (N32H7) and a
new board (N32H762IIL7) are added. No existing architecture or
board is modified.
Impact on documentation? YES - New documentation is added under
Documentation/platforms/arm/n32h7/:
- index.rst (chip family and peripheral support)
- boards/n32h762iil7/index.rst (board features, pin mapping,
building, flashing, configurations)
Impact on security? NO - No security-relevant changes.
Impact on compatibility? NO - Existing boards and configurations
are unaffected.
Testing
Build Host(s):
Target(s):
Verification steps:
./tools/configure.sh n32h762iil7:nsh
make -j$(nproc)
J-Link + Ozone).
pi_css5.
Testing logs after change (summary):
NuttX 13.0.1 98d7392 arm n32h762iil7
CoreMark 1.0 : 2358.861456 (3.93 CoreMark/MHz)
MTD Flash (/dev/mtd0):
Write: 1689.77 KiB/s | Read: 22755.56 KiB/s | Verification: PASSED
SDMMC (sdbench, block size 4096):
Sequential Write: 1423.2 KB/s | Sequential Read: 4728.1 KB/s
ostest: All tests PASSED
ramspeed: memcpy/memset bandwidth validated
pi_css5: 32768 digits of PI in 0.72 seconds (verified on FATFS)
The full terminal log (boot, ostest, CoreMark, mtd, sdbench,
ramspeed, osperf, pi_css5) is available in the board documentation
and in the commit message of 17b9602.
PR verification Self-Check
[x] This PR introduces only one functional change.
[x] I have updated all required description fields above.
[x] My PR adheres to Contributing Guidelines and Documentation.
[ ] My PR is still work in progress (not ready for review).
[x] My PR is ready for review and can be safely merged.