根据 S32DS 帮助中的命令行说明,我无法使用基于 .mex 文件的 S32 配置工具生成代码。我假设这取代了在 S32DS IDE 的引脚和外围设备更新“ConfigTool”中找到的“更新”功能,对吗?
因此,为了进行测试,我创建了一个简单的 S32K344“MyProject”项目,该项目配置了两个 GPIO 引脚和三个外设(osif_1、Siul2_Dio 和 Siul2_Port),并且时钟配置了默认参数。mex 文件是在运行命令之前使用“配置工具”和“更新”功能通过 S32DS IDE 生成的,因此我可以测试 Eclipse 配置命令行的执行。
按照 S32DS 帮助命令行示例,在具有管理权限的 Windows 11 命令窗口中运行,我使用了:
C:NXPS32DS.3.4eclipseeclipsec.exe -nosplash -application com.nxp.swtools.framework.application --launcher.ini C:NXPS32DS.3.4eclipseeclipse.ini -HeadlessTool 时钟 -加载 C:workspaceMyProject.mex -ExportSrc C:workspaceOutputFiles
但是当我运行命令时,我收到以下输出:
2022 年 6 月 14 日下午 12:30:35 com.nxp.swtools.framework.Application unzipDefaultData
信息:不存在具有默认脱机数据的 Zip 文件。尝试解压:'C:NXPS32DS.3.4eclipsemcu_dataoffline_data.zip'
2022 年 6 月 14 日下午 12:30:36 com.nxp.swtools.utils.ConfigurationUtils logAndShowError
严重:文件损坏或不是 MEX 格式 C:workspaceMyProject.mex
java.io.FileNotFoundException: C:workspaceMyProject.mex(系统找不到指定的文件)
在 java.io.FileInputStream.open0(本机方法)
在 java.io.FileInputStream.open(FileInputStream.java:195)
在 java.io.FileInputStream.
(FileInputStream.java:138)
在 java.io.FileInputStream.(FileInputStream.java:93)
在 com.nxp.swtools.utils.ConfigurationUtils.lambda$4(ConfigurationUtils.java:357)
在 com.nxp.swtools.utils.ConfigurationUtils.openConfiguration(ConfigurationUtils.java:467)
在 com.nxp.swtools.framework.Application.loadConfigFromCMD(Application.java:1057)
在 com.nxp.swtools.framework.Application.start(Application.java:524)
在 com.nxp.swtools.framework.Application.start(Application.java:441)
在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
在 org.eclipse.equinox.launcher.Main.run(Main.java:1465)
2022 年 6 月 14 日下午 12:30:36 com.nxp.swtools.framework.Application verifyToolEnabled
警告:尝试运行当前配置中不存在的无头时钟工具。
2022 年 6 月 14 日下午 12:30:36 com.nxp.swtools.clocks.wizards.exportWizard.ExportClocksSourcesWizard getGeneratedSources
警告:无法为空配置文件生成源代码:未选择 MCU
我不能使用 S32DS IDE 项目中已经生成的 mex 文件吗?如果不是,是否只需要从命令行工具生成 mex 文件?请注意,我最终想在持续集成 (CI) 环境中使用它。