Skip to content

Conversation

@hathach
Copy link
Member

@hathach hathach commented Dec 29, 2025

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

  • Updated family README files (ports/espressif/README.md, ports/maxim/README.md, ports/mimxrt10xx/README.md) to remove individual board lists and instead reference the centralized supported_boards.md for supported boards, improving maintainability and clarity. [1] [2] [3] [4]
  • Added a new section to the main README.md directing users to the centralized board list.
  • Minor documentation edits for clarity and consistency in family READMEs. [1] [2]

Build and Flash Improvements for NXP iMXRT (MIMXRT10xx)

  • Refactored Makefile and CMake scripts to use linker-derived addresses for flash operations, ensuring correct placement of images and simplifying the build process. This includes extracting _fcfb_origin and _flash_base from linker scripts and computing FLASH_FCFB_ADDR. [1] [2] [3] [4]
  • Added a step to erase the first 64KB of flash to ensure a clean state before UF2 updates, improving reliability of self-update operations.
  • Updated build scripts to clarify the use of sdphost and blhost for different MCU variants, and improved comments for user guidance.

General Build System and Formatting Updates

  • Cleaned up Makefile and CMake example templates for better readability and maintainability. [1] [2]

Application Logic Update

  • Modified the blinky app logic to enhance LED and RGB toggling behavior, making the blinking pattern more visible and distinct.

References:

Copilot AI review requested due to automatic review settings December 29, 2025 10:46
Copy link

Copilot AI left a 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.

@hathach hathach merged commit b047f4e into master Dec 29, 2025
320 checks passed
@hathach hathach deleted the refactor-imxrt branch December 29, 2025 11:42
@hathach hathach mentioned this pull request Dec 29, 2025
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flash issue with RT1024 EVK

2 participants