-
Notifications
You must be signed in to change notification settings - Fork 5.2k
inital commit for FRDM-MCXA346 support #10604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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' |
Copilot uses AI. Check for mistakes.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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'] |
Copilot uses AI. Check for mistakes.
!!GlobalInfo | ||
product: Pins v15.0 | ||
processor: MCXA156 | ||
package_id: MCXA156VLL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot uses AI. Check for mistakes.
!!GlobalInfo | ||
product: Pins v15.0 | ||
processor: MCXA156 | ||
package_id: MCXA156VLL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
Copilot uses AI. Check for mistakes.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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' |
Copilot uses AI. Check for mistakes.
拉取/合并请求描述:(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