2248671_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2248671_zh-CN

2248671_zh-CN

如何在全新项目(自定义板)中设置 CMake 以正确添加/参考 MCUXpresso SDK

你好,恩智浦社区!

我正在尝试建立一个新的资源库,以便在 MCXN947 上编译代码。目标是建立一个支持 MCXN947 的多个板变体的单一存储库(在我的项目中被称为 " dcm "、dcm1212 " 和 " mcxn947-eval ")。最后一个(mcxn947-eval)以 MCXN947 的 FDR 板为基础,上面附有子板。目前只有它能编译,所以如果您正在研究这个问题,不用担心其他的。

在我当前的文件夹结构中,我希望有(见所附项目):

-我的应用程序层的应用程序文件夹

-ecu 文件夹,用于将不同的板变体抽象到应用程序中(根据通过 CMake 预设选择的变体编译一个子文件夹)

-我的部分库子模块的模块文件夹,包括用于抽象应用程序 sdk 的通用 HAL 层

-mcuxpresso-sdk 文件夹包含我的 sdk


对于 SDK 文件夹,我使用了 Github mcuxsdk-manifests 并对 yml 进行了自定义,使其仅提取 MCXN 系列和我感兴趣的元器件。对于查看所附项目的任何人来说,在 mcuxpresso-sdk 文件夹内进行简单的"west update" 就能得到我需要的东西。

我现在似乎很难弄明白如何设置 CMake 系统,让所有内容都能很好地编译在一起。我的大多数项目都使用 CMake 库的概念,以干净、漂亮的方式添加每个子文件夹。但是,我无法使用 SDK 做到这一点。

目前,我的最佳解决方案是手动添加 SDK .c我需要在 ecu\ sources\ mcxn947-eval\ 板 CMakeLists 里面的文件。老实说,这样做非常麻烦,而且不能完全奏效(例如,在 peripherals.c 中初始化 FlexComm硬件故障)。我看了恩智浦社区的一些帖子,但似乎都不适合我。我在使用它们时总是会遇到一些编译或配置问题。


注意:由于最终的生产版本(dcm 和 dcm1212)将在自定义板上运行,所以我正在尝试摆脱 " 板定义的 " 设置。这就是为什么 mcxn947-eval 目前不使用 SDK 中的 frdm 板设置的原因。

MCX NRe: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

你好@汤姆-德博埃里奥

我认为你可以使用这种结构。

repo/

├─ app/ # 应用层(与主板无关)├─ ecu/ │ ├─ dcm/ │
├─ dcm1212/ │ └─ mcxn947-eval/ # 基于 FRDM 的自定义变体

│ ├─ 模块/ │ └─ hal_generic/
│ │ mcuxpresso-sdk/ # 从西部拉出




SDK CMake 系统已经知道哪些文件属于每个元器件。您不应手动列出这些内容。

BR

哈利

Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

谢谢你,哈里。


我同意这是最适合我的项目的结构。我的问题是不知道如何在项目根目录下创建 CMake,以正确添加和编译 application/ecu/modules 文件夹和 sdk 文件夹。

对于我手动编写的 ony,我只需通过 CMake"add_subdirectory" 进行编译,其中每个子文件夹都将包含各自的 CMake,以创建 CMake 库。然后,我通过"traget_link_libraries" 在 CMake 根目录中将它们链接在一起。我举了这两个 CMake 的例子,就像我现在一样(稍微简化了一点,这样我们就不用担心不同的版本目标了)。

我缺少的是如何将SDK添加到这个整体版本系统中,并确保我的ecu文件夹可以访问它。


Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

你好@汤姆-德博埃里奥

我刚测试过。

结构是

Harry_Zhang_0-1765438042376.pngHarry_Zhang_1-1765438058379.pngHarry_Zhang_2-1765438077914.png

BR

哈利


Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

你好@汤姆-德博埃里奥

我们采用了拖放功能,使用户更容易向项目中添加源代码。该功能目前是一项试验性功能,用户必须在分机设置中启用。用户只需将源代码放入项目,项目的 CMakeLists.txt 文件就会自动更新。

要启用该功能:

  1. 打开扩展设置
  2. 选中启用将文件添加到项目
  3. 重新启动工作区

Harry_Zhang_0-1765419423926.png

对于硬件故障,请检查时钟、引脚复用器等是否存在冲突。


最后要启用自定义板(在 mcuxsdk 存储库之外),请按照 https://mcuxpresso.nxp.com/mcuxsdk/latest/html/develop/sdk/custom_boa...

BR

哈利

Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

您能否分享该示例中 CMakeList.txt 根目录的内容?

Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

事实上,@Harry_Zhang,您是否介意分享一下您在这里设置的整个项目?


感谢你们迄今为止提供的所有帮助!

Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl

你好@汤姆-德博埃里奥

我刚刚测试了我下载的这个示例。

Harry_Zhang_0-1765788298872.png

您可以下载它。

定制板开发 — MCUXpresso SDK 文档

BR

哈利

Tags (1)
No ratings
Version history
Last update:
‎12-16-2025 04:41 AM
Updated by: