2332907_zh-CN

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

2332907_zh-CN

2332907_zh-CN

2 在 Linux 上运行 RTD 的改进措施
我使用 Linux 运行 S32DS + RTD,利用 Linux 的 overlayfs 机制在不同 RTD 版本之间无缝切换。通过这种设置,单个 S32DS 安装可与不同的热电阻叠加,实现灵活的热电阻版本管理。
但是,当前的RTD发行版在Linux上有两个关键的兼容性问题,我希望可以在RTD正式版本之前解决这些问题:

问题 1:元器件文件目录名称大小写不匹配

在 eclipse/mcu_data/components 目录中,元器件文件的 codegen_file 节点中定义的目录名称与实际物理目录名称大小写不一致。
这在 Windows(文件路径不区分大小写)上运行良好,但会导致 Linux(区分大小写的操作系统)路径解析失败,导致 RTD 元器件不可用。

问题 2:生成的时钟文件中的 Windows 路径分隔符不正确

两个关键配置文件--ClockConfigurationMappings.txt 和 ClockYaml.txt--是在文件生成逻辑中使用Windows 反斜线路径分隔符 (\)生成。
在 Linux 上,这种格式错误会导致文件被错误地直接放置在工作区根目录中,文件名格式为:ProjectName/ClockConfigurationMappings.txt 和 ProjectName/ClockYaml.txt,而不是存储在正确的特定项目子目录中。

修复: 用于全局更正的 Bash 脚本

我创建了一个 bash 脚本来自动解决第二个问题。在 mcu_data 目录中运行此脚本,应用 3 次全局查找和替换操作,以修复路径逻辑,实现 Linux 兼容性:

#!/bin/bash

找到-type f -name"*.js"| while read -r file; do
sed -i 's/mexPath\.substring(0,[)]\?mexPath\.lastIndexOf("\\\\"))/java.nio.file.Paths.get(mexPath).getParent().toString()/g'。"$file"
sed -i 's/+[ ]\?"\\\\ClockConfigurationMappings\.txt"/、"ClockConfigurationMappings.txt"/g'"$file"
sed -i 's/+[ ]\?"\\\\ClockYaml\.txt"/、"ClockYaml.txt"/g'"$file"
done

Re: 2 Improvements for Running RTD on Linux

你好

我已通知 SW 团队查看您的意见。

顺祝商祺!

Peter

Tags (1)
No ratings
Version history
Last update:
‎03-18-2026 03:34 AM
Updated by: