inital commit for FRDM-MCXA346 support#10604
Conversation
📌 Code Review Assignment🏷️ Tag: bsp_mcxaReviewers: hywing Changed Files (Click to expand)
🏷️ Tag: workflowReviewers: Rbb666 kurisaW supperthomas Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-08-15 18:49 CST)
📝 Review Instructions
|
|
如果是新增bsp, 已经添加ci检查到https://github.com/RT-Thread/rt-thread/blob/master/.github/ALL_BSP_COMPILE.json 详细请参考链接BSP自查 |
|
format, CI 都已经添加, |
There was a problem hiding this comment.
Pull Request Overview
This PR adds initial support for the FRDM-MCXA346 development board based on the NXP MCXA346 microcontroller. It introduces a complete BSP package with board initialization, device drivers, build configuration files, and project templates for multiple toolchains.
Key Changes
- Added complete BSP support for FRDM-MCXA346 board with MCXA346VLQ microcontroller
- Implemented board initialization code and pin multiplexing configuration
- Added project templates and build configurations for Keil MDK, GCC, and IAR toolchains
Reviewed Changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| rtconfig.py | Build configuration script with toolchain settings and compiler flags |
| rtconfig.h | RT-Thread configuration header with feature flags and driver settings |
| board.c/board.h | Board initialization and hardware abstraction layer |
| pin_mux.c/pin_mux.h | Pin multiplexing configuration for UART and GPIO |
| clock_config.c/clock_config.h | System clock configuration and management |
| .uvprojx/.uvoptx | Keil MDK project files and settings |
| .ld/.scf | Linker scripts for GCC and ARM toolchains |
| SConscript | SCons build script for RT-Thread build system |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| # EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR | ||
| if CROSS_TOOL == 'gcc': | ||
| PLATFORM = 'gcc' | ||
| EXEC_PATH = r'C:\Users\XXYYZZ' |
There was a problem hiding this comment.
The EXEC_PATH contains a placeholder path 'C:\Users\XXYYZZ' that should be updated to a proper default path or made more generic. Consider using a more standard path like 'C:\Program Files\GNU Arm Embedded Toolchain\bin' or document that users need to update this path.
| EXEC_PATH = r'C:\Users\XXYYZZ' | |
| # Update EXEC_PATH to match your GNU Arm Embedded Toolchain installation path, or set RTT_EXEC_PATH environment variable. | |
| EXEC_PATH = r'C:\Program Files\GNU Arm Embedded Toolchain\bin' |
| src += Glob('ports/drv_spi_sample_rw007.c') | ||
|
|
||
| CPPPATH = [cwd, cwd + '/MCUX_Config/board'] | ||
| CPPDEFINES = ['DEBUG', 'CPU_MCXA346VLL'] |
There was a problem hiding this comment.
The CPU define 'CPU_MCXA346VLL' is inconsistent with the board name which suggests MCXA346VLQ variant. The define should match the actual CPU variant being used on the FRDM-MCXA346 board.
| CPPDEFINES = ['DEBUG', 'CPU_MCXA346VLL'] | |
| CPPDEFINES = ['DEBUG', 'CPU_MCXA346VLQ'] |
| !!GlobalInfo | ||
| product: Pins v15.0 | ||
| processor: MCXA156 | ||
| package_id: MCXA156VLL |
There was a problem hiding this comment.
The processor field shows 'MCXA156' but this should be 'MCXA346' to match the actual microcontroller used on the FRDM-MCXA346 board. This appears to be a copy-paste error from another board configuration.
| package_id: MCXA156VLL | |
| processor: MCXA346 | |
| package_id: MCXA346VLL |
| !!GlobalInfo | ||
| product: Pins v15.0 | ||
| processor: MCXA156 | ||
| package_id: MCXA156VLL |
There was a problem hiding this comment.
The package_id should be 'MCXA346VLQ' to match the FRDM-MCXA346 board specification, not 'MCXA156VLL'. This inconsistency could cause issues with pin configuration.
| package_id: MCXA156VLL | |
| package_id: MCXA346VLQ |
| else: | ||
| CFLAGS += ' -O2 -Os' | ||
|
|
||
| POST_ACTION = OBJCPY + ' -O binary --remove-section=.boot_data --remove-section=.image_vertor_table --remove-section=.ncache $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' |
There was a problem hiding this comment.
There is a typo in 'image_vertor_table' which should be 'image_vector_table'.
| POST_ACTION = OBJCPY + ' -O binary --remove-section=.boot_data --remove-section=.image_vertor_table --remove-section=.ncache $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' | |
| POST_ACTION = OBJCPY + ' -O binary --remove-section=.boot_data --remove-section=.image_vector_table --remove-section=.ncache $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' |

拉取/合并请求描述:(PR description)
[
FRDM-MCXA346
为什么提交这份PR (why to submit this PR)
你的解决方案是什么 (what is your solution)
请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up