有时您希望在项目之间共享源代码,甚至更好的是,在平台之间共享源代码。假设我们正在为 S32K144 和 MPC5744P 开发具有相同功能的软件。在这种情况下,我们可以识别平台独立函数 - 通用的、平台特定的函数 - 与 MCU 本身无关,但与某些外设的工作方式(例如不同的 ADC 结果范围)有关 - 以及依赖于 MCU 的函数,如时钟初始化。附件是一个非常简单的 SDK,可以与 S32K144 和 MPC5744P(每个都有不同的 S32DS 版本)共享。
解压缩 my_sdk.zip 档案(例如 C:\NXP 文件夹)。您可以导入示例项目,但让我们从头开始。创建一个新的S32DS应用程序项目并选择MCU:
您可以使用默认项目配置并单击完成:
右键点击项目名称->属性,选择SDK->添加
填写“新 SDK”对话框中的名称、版本和描述字段,然后单击“位置”字段旁边的“更改”按钮。
在“更改 SDK 位置”对话框中,保持选中“定义新变量设置”,单击“浏览”并找到 my_sdk 路径:
现在我们可以从选定的 SDK 中选择文件(源、标题……),您可以选择所有可用的文件。如果您选择一个文件夹,那么该文件夹中的所有文件也将被选择。
不要忘记选择头文件:
如果您选择复制 - 文件将被复制到项目文件夹中,您可以进行本地更改。如果没有此选项(默认) - 更改将在依赖于此特定 SDK 的所有项目之间共享。
能够从 SDK 中单独选择要包含的文件以及复制到项目文件夹中的文件,为在项目中定制 SDK 的使用提供了很大的灵活性。
单击“确定”,然后单击“附加/分离...”将此 SDK 附加到您的项目中:
如果您希望将 SDK 用于新创建的项目(作为 SDK 选择列表中的选项) - 单击“Make global”按钮:
现在您可以看到项目中的更改:
另外,可以在 SDK 资源管理器(窗口 -> 显示视图 -> 其他...)中查看 SDK,其中可以使用函数和宏将功能拖放到代码中:
平台特定的代码由预处理器定义的宏过滤。那么,让我们定义一下我们使用的是 S32K144 还是 MPC5744P。右键单击项目名称 -> 属性 -> C/C++ 构建 -> 设置 ->
我们已经完成了——现在我们可以使用SDK函数——S32K144:
和 MPC5744P(启用中断是 MPC5744P 空项目的默认部分 - 这是唯一的区别):