Felix-LJY opened a new pull request, #20102:
URL: https://github.com/apache/nuttx/pull/20102
## 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/[email protected]/msg14861.html
Follow-up mailing list thread:
https://www.mail-archive.com/[email protected]/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):
- OS: Ubuntu Linux
- CPU: x86_64 (AMD)
- Compiler: GCC (ARM GNU Toolchain 15+) and Clang (ATfE 19+)
Target(s):
- Arch: ARM (Cortex-M7)
- Board: n32h762iil7:nsh
Verification steps:
1. Configure and build:
./tools/configure.sh n32h762iil7:nsh
make -j$(nproc)
2. Flash and boot on real hardware (N32H762IIL7 dev board via
J-Link + Ozone).
3. Run ostest - all tests PASSED.
4. Run benchmarks: coremark, mtd, sdbench, ramspeed, osperf,
pi_css5.
5. Verify FATFS on SD card and MTD on SIP Flash.
Testing logs after change (summary):
NuttX 13.0.1 98d7392ec3 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 17b9602735.
## 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.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]