2 Improvements for Running RTD on Linux

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2 Improvements for Running RTD on Linux

ソリューションへジャンプ
429件の閲覧回数
chenwilsoft
Contributor II
I use Linux to run S32DS + RTD, leveraging Linux's overlayfs mechanism to switch between different RTD versions seamlessly. With this setup, a single S32DS installation can work with distinct RTD overlays, enabling flexible RTD version management.
However, the current RTD distribution has two critical compatibility issues on Linux that I hope can be fixed before the official RTD release:

Issue 1: Case Mismatch in Component File Directory Names

In the eclipse/mcu_data/components directory, the directory names defined in the codegen_file nodes of component files have case inconsistencies with the actual physical directory names.
This works fine on Windows (which is case-insensitive for file paths) but causes path resolution failures on Linux (a case-sensitive OS), making the RTD components unusable.

Issue 2: Incorrect Windows Path Separators in Generated Clock Files

The two key configuration files—ClockConfigurationMappings.txt and ClockYaml.txt—are generated using Windows backslash path separators (\) in the file generation logic.
On Linux, this misformatting causes the files to be incorrectly placed directly in the root workspace directory, with filenames formatted as:ProjectName\ClockConfigurationMappings.txt and ProjectName\ClockYaml.txtinstead of being stored in their correct project-specific subdirectories.

Fix: Bash Script for Global Correction

I created a bash script to resolve the second issue automatically. Run this script in the mcu_data directory to apply 3 global find-and-replace operations that fix the path logic for Linux compatibility:

#!/bin/bash

find . -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

0 件の賞賛
返信
1 解決策
361件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Hello,

I have notified SW team to have a look at your comments.

Best regards,

Peter

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
362件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Hello,

I have notified SW team to have a look at your comments.

Best regards,

Peter

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2332907%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELinux%E4%B8%8A%E3%81%A7RTD%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE2%E3%81%A4%E3%81%AE%E6%94%B9%E5%96%84%E7%82%B9%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2332907%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%20class%3D%22%22%3E%E7%A7%81%E3%81%AFLinux%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6S32DS%E3%81%A8RTD%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81Linux%E3%81%AEoverlayfs%E3%83%A1%E3%82%AB%E3%83%8B%E3%82%BA%E3%83%A0%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E7%95%B0%E3%81%AA%E3%82%8BRTD%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E9%96%93%E3%82%92%E3%82%B7%E3%83%BC%E3%83%A0%E3%83%AC%E3%82%B9%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81%E5%8D%98%E4%B8%80%E3%81%AES32DS%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AERTD%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%AC%E3%82%A4%E3%82%92%E5%90%8C%E6%99%82%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%80%81%E6%9F%94%E8%BB%9F%E3%81%AARTD%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E7%8F%BE%E5%9C%A8%E3%81%AERTD%E3%83%87%E3%82%A3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%81%AF%3CSTRONG%3ELinux%E4%B8%8A%E3%81%A72%E3%81%A4%E3%81%AE%E9%87%8D%E5%A4%A7%E3%81%AA%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FSTRONG%3E%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81%E5%85%AC%E5%BC%8FRTD%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E5%89%8D%E3%81%AB%E4%BF%AE%E6%AD%A3%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E9%A1%98%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CH2%20id%3D%22toc-hId--468865600%22%20id%3D%22toc-hId--468784876%22%3E%E5%95%8F%E9%A1%8C1%EF%BC%9A%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%E3%81%AECASE%E4%B8%8D%E4%B8%80%E8%87%B4%3C%2FH2%3E%3CDIV%20class%3D%22%22%3Eeclipse%2Fmcu_data%2Fcomponents%20%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6%E3%80%81%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%20codegen_file%20%E3%83%8E%E3%83%BC%E3%83%89%E3%81%A7%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%E3%81%A8%E3%80%81%E5%AE%9F%E9%9A%9B%E3%81%AE%E7%89%A9%E7%90%86%E7%9A%84%E3%81%AA%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%90%8D%E3%81%A8%E3%81%AE%E9%96%93%E3%81%AB%3CSTRONG%3ECASE%E3%81%AE%E4%B8%8D%E4%B8%80%E8%87%B4%3C%2FSTRONG%3E%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%E3%81%93%E3%82%8C%E3%81%AFWindows%EF%BC%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%91%E3%82%B9%E3%81%AE%E5%A4%A7%E6%96%87%E5%AD%97%E5%B0%8F%E6%96%87%E5%AD%97%E3%82%92%E5%8C%BA%E5%88%A5%E3%81%97%E3%81%AA%E3%81%84OS%EF%BC%89%E3%81%A7%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81Linux%EF%BC%88%E5%A4%A7%E6%96%87%E5%AD%97%E5%B0%8F%E6%96%87%E5%AD%97%E3%82%92%E5%8C%BA%E5%88%A5%E3%81%99%E3%82%8BOS%EF%BC%89%E3%81%A7%E3%81%AF%3CSTRONG%3E%E3%83%91%E3%82%B9%E8%A7%A3%E6%B1%BA%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%3C%2FSTRONG%3E%E7%99%BA%E7%94%9F%E3%81%97%E3%80%81RTD%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CH2%20id%3D%22toc-hId-2018647233%22%20id%3D%22toc-hId-2018727957%22%3E%E5%95%8F%E9%A1%8C2%EF%BC%9A%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E6%99%82%E8%A8%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%86%85%E3%81%AEWindows%E3%83%91%E3%82%B9%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87%E5%AD%97%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E3%81%AA%E3%81%84%3C%2FH2%3E%3CDIV%20class%3D%22%22%3E2%E3%81%A4%E3%81%AE%E9%87%8D%E8%A6%81%E3%81%AA%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%81ClockConfigurationMappings.txt%E3%81%A8ClockYaml.txt%E3%81%AF%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E7%94%9F%E6%88%90%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6%E3%80%81%20%3CSTRONG%3EWindows%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%83%91%E3%82%B9%E5%8C%BA%E5%88%87%E3%82%8A%E6%96%87%E5%AD%97%EF%BC%88%5C%EF%BC%89%3C%2FSTRONG%3E%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3ELinux%20%E3%81%A7%E3%81%AF%E3%80%81%E3%81%93%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%AE%E8%AA%A4%E3%82%8A%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%84%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%9B%BA%E6%9C%89%E3%81%AE%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%95%E3%82%8C%E3%82%8B%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81%E3%83%AB%E3%83%BC%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E7%9B%B4%E6%8E%A5%E9%85%8D%E7%BD%AE%E3%81%95%E3%82%8C%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%8C%20ProjectName%5CClockConfigurationMappings.txt%20%E3%81%8A%E3%82%88%E3%81%B3%20ProjectName%5CClockYaml.txt%20%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CH2%20id%3D%22toc-hId-211192770%22%20id%3D%22toc-hId-211273494%22%3E%E4%BF%AE%E6%AD%A3%EF%BC%9A%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E4%BF%AE%E6%AD%A3%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEBash%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%3C%2FH2%3E%3CDIV%20class%3D%22%22%3E2%E3%81%A4%E7%9B%AE%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E8%A7%A3%E6%B1%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEbash%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CSTRONG%3Emcu_data%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7%3C%2FSTRONG%3E%E3%81%93%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81Linux%E3%81%A8%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E3%83%91%E3%82%B9%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%99%E3%82%8B3%E3%81%A4%E3%81%AE%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E3%81%AA%E6%A4%9C%E7%B4%A2%E7%BD%AE%E6%8F%9B%E6%93%8D%E4%BD%9C%E3%81%8C%E9%81%A9%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CP%3E%23%20!%2Fbin%2Fbash%3C%2FP%3E%3CP%3E%E6%8E%A2%E3%81%99%20%E3%80%82-type%20f%20-name%20%22*.js%22%7C%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%3B%3CBR%20%2F%3E%20sed%20-i%20's%2FmexPath%5C.substring(0%2C%5B%5D%5C%3FmexPath%5C.lastIndexOf(%22%5C%5C%5C%5C%22))%2Fjava.nio.file.Paths.get(mexPath).getParent().toString()%2Fg'%E3%80%8C%24%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%8D%3CBR%20%2F%3E%20sed%20-i%20's%2F%2B%5B%20%5D%5C%3F%22%5C%5C%5C%5CClockConfigurationMappings%5C.txt%22%2F%2C%22ClockConfigurationMappings.txt%22%2Fg'%E3%80%8C%24%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%8D%3CBR%20%2F%3E%20sed%20-i%20's%2F%2B%5B%20%5D%5C%3F%22%5C%5C%5C%5CClockYaml%5C.txt%22%2F%2C%22ClockYaml.txt%22%2Fg'%E3%80%8C%24%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%8D%3CBR%20%2F%3E%E7%B5%82%E3%82%8F%E3%82%8A%3C%2FP%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2333246%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%202%20Improvements%20for%20Running%20RTD%20on%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2333246%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%80%81%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AB%E9%80%A3%E7%B5%A1%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%83%94%E3%83%BC%E3%82%BF%E3%83%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E