Repository navigation
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
….com/nxp-ran/rt-thread into feature/industrial-ethernet-linkfile
This reverts commit efea133.
There was a problem hiding this comment.
🟡 Changes recommended
Industrial layouts leave generated Keil targets unbuildable, reference missing GCC linker scripts, and omit CM7 XIP caching when multicore support is disabled.
3 open issues
What changed in this PR
Adds industrial Ethernet memory layouts to the RT1180 EVK BSP, with CM33 running from internal RAM and CM7 executing directly from NOR flash.
为 RT1180 EVK BSP 新增工业以太网内存布局:CM33 在片内 RAM 运行,CM7 从 NOR Flash 直接执行。
Changes / 变更:
- Adds Keil and IAR linker scripts with separate per-core memory allocations and reserved shared memory. / 新增 Keil 和 IAR 链接脚本,划分双核专用内存并预留共享内存。
- Connects the layouts to Kconfig, build configuration and IDE targets. / 将新布局接入 Kconfig、构建配置和 IDE 目标。
- Moves MPU setup before common board initialization and refreshes saved configurations. / 将 MPU 配置提前至通用板级初始化之前,并更新保存的配置。
Paths below are relative to bsp/nxp/imx/imxrt/imxrt1180-nxp-evk/.
以下路径均相对于上述目录。
| File | Description |
|---|---|
cm7/template.uvprojx |
Adds Keil industrial XIP target. / 新增 Keil 工业 XIP 目标。 |
cm7/template.uvoptx |
Adds target debug settings. / 新增目标调试设置。 |
cm7/template.ewp |
Adds IAR industrial XIP configuration. / 新增 IAR 工业 XIP 配置。 |
cm7/rtconfig.py |
Maps industrial linker and target names. / 映射工业链接脚本及目标名称。 |
cm7/rtconfig.h |
Refreshes version and generated comments. / 更新版本及生成的注释。 |
cm7/board/linker_scripts/MIMXRT1189xxxxx_cm7_flexspi_nor_industry.scf |
Defines Keil CM7 flash/RAM layout. / 定义 Keil CM7 Flash/RAM 布局。 |
cm7/board/linker_scripts/MIMXRT1189xxxxx_cm7_flexspi_nor_industry.icf |
Defines IAR CM7 flash/RAM layout. / 定义 IAR CM7 Flash/RAM 布局。 |
cm7/board/Kconfig |
Exposes industrial XIP choice. / 增加工业 XIP 选项。 |
cm7/board/board.c |
Reorders MPU initialization. / 调整 MPU 初始化顺序。 |
cm7/.config |
Refreshes configuration; new layout remains disabled. / 更新配置,新布局默认未启用。 |
cm33/template.uvprojx |
Adds Keil industrial RAM target. / 新增 Keil 工业 RAM 目标。 |
cm33/template.uvoptx |
Adds target debug settings. / 新增目标调试设置。 |
cm33/template.ewp |
Adds IAR industrial RAM configuration. / 新增 IAR 工业 RAM 配置。 |
cm33/template.ewd |
Adds IAR debugger configuration. / 新增 IAR 调试器配置。 |
cm33/rtconfig.py |
Maps industrial linker and target names. / 映射工业链接脚本及目标名称。 |
cm33/rtconfig.h |
Refreshes version and generated comments. / 更新版本及生成的注释。 |
cm33/board/linker_scripts/MIMXRT1189xxxxx_cm33_ram_industry.scf |
Defines Keil CM33 TCM/OCRAM2 layout. / 定义 Keil CM33 TCM/OCRAM2 布局。 |
cm33/board/linker_scripts/MIMXRT1189xxxxx_cm33_ram_industry.icf |
Defines IAR CM33 TCM/OCRAM2 layout. / 定义 IAR CM33 TCM/OCRAM2 布局。 |
cm33/board/Kconfig |
Exposes industrial RAM choice. / 新增工业 RAM 选项。 |
cm33/board/board.c |
Reorders MPU initialization. / 调整 MPU 初始化顺序。 |
cm33/.config |
Refreshes configuration; new layout remains disabled. / 更新配置,新布局默认未启用。 |
Review effort: Balanced
| 'RAM': 'MIMXRT1189xxxxx_cm33_ram', | ||
| 'FLEXSPI_NOR': 'MIMXRT1189xxxxx_cm33_flexspi_nor', | ||
| 'FLEXSPI_NOR_HYPERRAM': 'MIMXRT1189xxxxx_cm33_flexspi_nor_hyperram', | ||
| 'RAM_INDUSTRY': 'MIMXRT1189xxxxx_cm33_ram_industry', |
| </TargetOption> | ||
| </Target> | ||
| <Target> | ||
| <TargetName>rtthread_ram_industry</TargetName> |
| config BSP_LINKER_SCRIPT_FLEXSPI_NOR_INDUSTRY | ||
| bool "FlexSPI NOR Flash - Industrial Ethernet (XIP + 512KB OCRAM1 + 96KB OCRAM2 + 32KB shared memory)" |

拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
针对专门开发工业以太网的用户,专门订制了一套CM33+CM7的link file
其中CM33运行在片内ram上,CM7从flash直接XIP
你的解决方案是什么 (what is your solution)
新增了2个keil的分散加载文件,和2个iar的分散加载文件:
cm33\board\linker_scripts\MIMXRT1189xxxxx_cm33_ram_industry.scf
cm33\board\linker_scripts\MIMXRT1189xxxxx_cm33_ram_industry.icf
cm7\board\linker_scripts\MIMXRT1189xxxxx_cm7_flexspi_nor_industry.scf
cm7\board\linker_scripts\MIMXRT1189xxxxx_cm7_flexspi_nor_industry.icf
并且在对应的Kconfig和rtconfig.py中添加对这些分散加载文件的支持。
最后,在keil和iar对应的template中增加对应的target。
请提供验证的bsp和config (provide the config and bsp)
CM33:
CONFIG_BSP_LINKER_SCRIPT_RAM_INDUSTRY=y
CM7:
CONFIG_BSP_LINKER_SCRIPT_FLEXSPI_NOR_INDUSTRY=y
]
当前拉取/合并请求的状态 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