当初はS32DS3.5 + RTD5.0.0で開発を行っていましたが、gPTP関連機能の開発という新たな要件が生じたため、新しい開発環境を構築しました。
S32DS_3.6.2_RFP_win32.x86_64.exe
SW32K3_S32M27x_RTD_R21-11_6.0.0_D2506_DesignStudio_updatesite.zip
SW32K3_FreeRTOS_11.1.0_6.0.0_CD1_D2506_DesignStudio_updatesite.zip
SW32K3xx_M7_gPTP_1.0.0_D2507_DesignStudio_updatesite.zip
SW32K3_TCPIP_STACK_3.0.0_D2507_DesignStudio_updatesite.zip
セットアップ後、S32K388_gptp_free_rtos_dsプロジェクトを作成し、コードを更新して直接コンパイルします。すると、以下のエラーが発生します。
私の理解では、環境設定プロセス中に一部のプラグインが不足していた可能性があるのではないでしょうか?
lwip_FreeRTOS_s32k388でも同様の状況が発生しました。
しかし、必要なプラグインはすべてインストール済みです。添付ファイルはS32K388_gptp_free_rtos_dsのエクスポート例です。まだ始めたばかりなので、何かアドバイスをいただけないでしょうか?よろしくお願いします!
こんにちは。このエラーについては特に心配していません。これらのエラーは間違いなく修正できます。主な問題は、IDE が提供する標準のサンプルコードを S32DS3.5+RTD5.0.0 に直接インポートしてもコンパイルエラーは発生しなかったのに、S32DS3.6.2+RTD6.0.0 で同じ操作を行うと、同じ問題が発生することです。これはプラグインの互換性の問題でしょうか?私が最も懸念しているのは次の点です。
関連するソースコードファイルはすべてSDKによって提供されており、基本的に変更されません。変更が必要な場合でも、IDEのインターフェース設定を通じて行われます。機能が追加されるたびにコードは常に更新され、変更されたファイルは上書きされます。そのため、毎回修正が必要となり、非常に不便です。
こんにちは、 @Ryan_xjl
私もその問題を再現できました。プロジェクトをエラーなくビルドするためには、以下の変更が必要でした。
FreeRTOSConfig.h
Add the following definition:
#define configKERNEL_PROVIDED_STATIC_MEMORY 1
port.c
Add the declaration:
void xPortSysTickHandler( void ) __attribute__( ( naked ) );
ベクターテーブル.s
Change .globl vPortSVCHandler
to .globl SVC_Handler
Change .long vPortSVCHandler
to .long SVC_Handler+1
BR、VaneB
こんにちは、 @Ryan_xjl
ソフトウェアの互換性に関してですが、現在お使いのバージョンはすべてRTDバージョン6.0.0に依存しているため、問題なく動作するはずです。
RTD 5.0.0からRTD 6.0.0への移行、およびS32DS 3.5からS32DS 3.6.2への移行に関して、ソフトウェアとIDEsの両方にいくつかの変更が加えられました。したがって、全体的な機能はほぼ同じであるものの、完全な後方互換性は保証できません。
最後に、生成されたファイルにおける変更内容の消失についてですが、これはConfigToolsを使用する際の想定される動作です。新しい設定が適用されるたびに、ツールはファイルを再生成し、デフォルトの状態に復元します。これらのファイルに直接加えられた手動変更は保存されません。したがって、生成されたコードを扱う際には、カスタム変更を慎重に管理することが重要です。
私の混乱を解消するために、辛抱強くご対応いただき、本当にありがとうございました。もしかしたら、私の説明が不十分だったのかもしれませんし、あるいはまだ初心者だからかもしれません。私の意図をより明確にするために、一連のプロセスを撮影した動画を添付しました。この動画をご覧いただければ、私のニーズがよりよく伝わるかと思います。改めて、ご辛抱強くご対応いただき、ありがとうございました。
追伸:処理中に問題が発生しましたが、それが今回の状況が原因かどうかは分かりません。
添付ファイルは、操作手順を示す動画です。
こんにちは、 @Ryan_xjl
ご心配なく。言語の違いは時に誤解を招くことがありますし、問題点を示す動画を共有してくださって本当に感謝しています。
ConfigToolsを開いたときに表示されるウィンドウは、プロジェクトが現在使用しているバージョンよりも古いバージョンのツールを使用して作成されたことを示す警告です。これは、 .mexファイルを開こうとした場合にのみ関係してきます。元の(古い)バージョンで再度ファイルをアップロードしてください。あなたの場合、何の問題も起こらないはずです。また、プロジェクトをゼロから作成する場合、この警告は表示されません。
最後に、サンプルをコンパイルする際に発生したビルドエラーは、最初の返信で述べた変更を適用することで解決できます。
これであなたの疑問が解消されることを願っています。