簡単
現在、さまざまな産業用イーサネット プロトコルでは、単一のアプリケーションを使用したモノリシックなアプローチは処理が難しいため、通常、異なるソフトウェア フレーバーを備えた同じハードウェアの製造と配信が必要になります。この記事では、RZ/N2L および RZ/T2M 用の簡単なブート ローダー ソリューションを紹介します。これにより、使用されている産業用イーサネット プロトコルの検出が可能になり、実行時に適切なアプリケーションがフラッシュから RAM にロードされます。 RAM 消費量と実行速度のさまざまな要件は、内部 SystemRAM、外部 SDRAM、または外部 HyperRAM を柔軟に使用することによってサポートされます。 既存のイーサネット プロトコル アプリケーションでは、起動コードとリンカー スクリプトにわずかな変更を加えるだけで済みます。
ROM 内のスタートアップ コードは、やはりフラッシュに保存されているローダー パラメータに従って、ブート ローダー アプリケーションをフラッシュから内部 RAM にコピーします。 ブートローダーが開始されます。 産業用イーサネット プロトコルの検出は、以下で詳しく説明するように実行されます。 結果に応じて、ブート ローダーは対応するコードとデータをフラッシュから RAM にコピーし、最終的にその場所からアプリケーションを開始します。
ユーザーは RAM のタイプを定義し、各プロトコル アプリケーションの場所を指定する必要があります。 ブート ローダー アプリケーションのテーブルには、フラッシュ ソース アドレス、RAM 宛先アドレス、およびアプリケーションのサイズが保持されます。 必要な値は、アプリケーションのリンカー スクリプトに基づいて、リンカー プロセス中に自動的に入力されます。 RZ/T2M の場合、デュアルコア アプリケーションをサポートするために 2 番目のバイナリをコピーできます。
低レベルの起動後、ブート ローダーはハードウェアを初期化してイーサネット インターフェイスを起動します。 ソフトウェアは、受信イーサネット パケットの EtherType フィールドを評価して、ネットワーク内で使用されているプロトコルを検出します。 プロトコルの特定のフレームを受信すると、ブート ローダーは対応するアプリケーションをフラッシュから RAM にコピーし、実行を開始します。 以前のハードウェア初期化は以前に戻されます。
このソリューションは、ルネサス RSK および FSP に基づく簡単な例を示し、ネットワーク内で広く使用されている産業用イーサネット プロトコルを検出し、それに適したプロトコル アプリケーションを選択する方法を示します。 このソリューションを採用するには、既存のスタンドアロン アプリケーションにわずかな変更を加えるだけで済みます。e2studio 用の RZ/N2L および RZ/T2M のデモ コードはすでに利用可能です。