-
Notifications
You must be signed in to change notification settings - Fork 230
Refactor imxrt #469
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
Refactor imxrt #469
Conversation
add .clang-format
rename qspiflash_config_copy to flash_nor_config since it can work with oct or hyperflash as well
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 refactors the iMXRT port with several improvements: centralizing board documentation, fixing build system configuration for NXP iMXRT boards, adding support for SWO logging, and cleaning up code formatting. The changes improve maintainability by moving board-specific configuration to auto-generated files and extracting flash addresses from linker scripts.
Key changes:
- Added Python script to auto-generate centralized board documentation from board.h files
- Refactored iMXRT build system to extract flash addresses from linker scripts dynamically
- Added SWO logger support alongside existing RTT logging
- Reorganized board files to use MCUXpresso-generated pin_mux and clock_config files
Reviewed changes
Copilot reviewed 96 out of 175 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/gen_boards.py | New Python script to generate supported_boards.md from board.h files across all ports |
| supported_boards.md | Auto-generated board list documentation (198 lines) |
| src/main.c | Code formatting improvements and added SWO logger support |
| src/board_api.h | Changed default log level from 2 to 1 |
| ports/*/README.md | Updated to reference centralized board list |
| ports/mimxrt10xx/port.mk | Fixed source file paths to use board/ subdirectory |
| ports/mimxrt10xx/linker/common.ld | Removed duplicate double-tap address definition |
| ports/mimxrt10xx/family.cmake | Extract flash addresses from linker scripts; refactored flash tool setup |
| ports/mimxrt10xx/boards/teensy40/* | Reorganized with MCUXpresso-generated files in board/ subdirectory |
| ports/mimxrt10xx/boards/teensy41/* | Reorganized with MCUXpresso-generated files in board/ subdirectory |
| ports/mimxrt10xx/boards/olimex_rt1010/* | Added MCUXpresso configuration files |
| cmake/toolchain/common.cmake | Added debug flag -g to GCC toolchain |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request introduces several improvements and refactorings across documentation, build scripts, and board support for multiple MCU families. The main themes are: moving board lists from individual family READMEs to a centralized
supported_boards.md, improving build and flash processes for NXP iMXRT (MIMXRT10xx), adding new erase functionality for J-Link, and updating formatting and toolchain settings for consistency.also fix #231
Documentation and Board List Refactoring
ports/espressif/README.md,ports/maxim/README.md,ports/mimxrt10xx/README.md) to remove individual board lists and instead reference the centralizedsupported_boards.mdfor supported boards, improving maintainability and clarity. [1] [2] [3] [4]README.mddirecting users to the centralized board list.Build and Flash Improvements for NXP iMXRT (MIMXRT10xx)
_fcfb_originand_flash_basefrom linker scripts and computingFLASH_FCFB_ADDR. [1] [2] [3] [4]sdphostandblhostfor different MCU variants, and improved comments for user guidance.General Build System and Formatting Updates
Application Logic Update
References: