synergy_gen配下のコンパイルエラーが発生し、解決できません

はじめまして、初心者です。

下記のようなエラーが解決できず行き詰っています。

プログラムは「Renesas Synergy™ NetXを使ったソケット通信の応用例:マルチクライアントサーバ」
an-r30an0321jj0100-synergy-multi-client-server-sample-using-netx.zip
です。最終的にはap殿のボード(ap-s7g2-0a)でシステムを構築することを目的としています。

ボードの設定をS7G2-SKに設定すると問題なくコンパイルできますが、
ボードの設定をap-s7g2-0aにすると上記エラーが生じます。

ap殿が提供するサンプルプログラムでも同様の事象が発生し、問い合わせたところ、以下のような回答でした。
・ap殿が提供するサンプルプログラムはver1.7.8に対応していない
・旧バージョン(Ver1.4.0)取得はRenesasに依頼
・apではソフトウェアの質問を原則受け付けないので「かふぇルネ」などをご利用して欲しい
・ver1.7.8で稼働させたいのであれば「お客様自身で修正していただく」

旧バージョンの取り寄せはRenesas殿に依頼いていますが、今のところ音沙汰がありません。
そこで、「お客様自身で修正していただく」を模索しています。

初心者なので、まずはサンプルプログラムが正しく動作する事から習得する計画ですが、入口の所で、行き詰っています。
ちなみに、LED点滅や、UARTの入出力は確認できたので、コンパイルの操作やステップ実行などは操作できています。

ヘッダファイルにマクロを追加するなどの事で解決するようにも思うのですが、やみくもにマクロを追加して動く保証も確率もありません。
何しろ初心者であるため、全く方向違いを目指しているのかも知れません。
そもそも、ハードウェアの違いを吸収するためのbspファイル(拡張子がpack)であって、マクロを追加しなければならいのは本末転倒のような気もします。
その意味では、ver1.7.8に対応していないのは、ソースプログラムの方ではなく、bspファイルの方なのでしょうか。
アドバイスを頂けると大変助かります。

  • Urkさんbsp_ethernetやtelnet関連の一部モジュールが見つからないと言っているようなのでソースファイルを検索してそこにあるのかどうか調べてみてはどうですか、なければ同じようなものを追加できないか、あるのにエラーになっているとすればパスが通ってないとか、コンパイラーに登録するところが抜けているとかではないですか。
  • Urk 様

    こんにちは、Sugachanceです。

    以前、SSPのコンフィグレーションとSynergy User Packの作成
    のセミナーを受けた際に、質疑応答の中で
    Q.「SSP1.4.0で作成したpackはSSP1.5.0で使えるのか?」
    A.「SSPの中身がだいぶ違うのでNG。作り直した方が良い」

    というやり取りがありました。

    ですので、メーカーから入手できないのであれば、作ることになると思います。

    セミナーはまだ定期的にやっているようですので参考まで。

    www.renesas.com/.../20171129.html

    今の世の中的に参加しにくい…という場合は、付き合いのある特約店に相談すると・・・

  • 早速のご返信ありがとうございます。

    ソースファイルを検索しました。
    ボードの設定をap-s7g2-0aにした状態では、bsp_ethernet...は存在しません。
    S7G2-SKに設定すると、bsp_ethernet_phy.hが存在します。
    ちなみに、bspファイル(packファイル)の拡張子をzipにリネームしてbspファイルの中を確認すると、
    bsp_ethernet_phy.hの有無がbspファイルに依存していることが分かりました。

    >なければ同じようなものを追加できないか、

    例えば、S7G2-SKのbsp_ethernet_phy.hをコピーしてみてはというご助言ですね。
    S7G2-SKはKSZ8081を、ap-s7g2-0aはKSZ8041RNLIを用いています。
    コンパイラを黙らすことができれば、チップが異なっても動作するという事でしょうか。
  • Sugachance様、ご返信ありがとうございます。

    古いプログラムを使いたい訳ではないのです。ap殿のボードを入手し、etherのプログラムを書くために、サンプルログラムを参考にしたいのですが、コンパイルを通るものが何一つありません。下記のいずれもコンパイルエラーになります。
     ap殿のサンプルプログラム
     renesas殿のサンプルプログラム
     空プロジェクトにTelnetサーバを追加したシンプルなプロジェクト
    原因がap殿のpackにあるのであれば、ap殿に再度問合せしますが、その確信もありません。

    ご助言をよろしくお願い致します。
  • > ・ap殿が提供するサンプルプログラムはver1.7.8に対応していない
    > ・旧バージョン(Ver1.4.0)取得はRenesasに依頼
    > ・apではソフトウェアの質問を原則受け付けないので「かふぇルネ」などをご利用して欲しい
    > ・ver1.7.8で稼働させたいのであれば「お客様自身で修正していただく」

    この通りだとすると Renesas Synergy の意味がないので捨てた方が良いのでは
  • fujita nozomu様

    率直なご意見ありがとうございます。

    その後、試行錯誤を行い。サンプルプログラムを動作させることができました。
    ただし、そのやり方が理にかなっているか不明な上、今後同じような事態に陥ることは避けたいので、
    「捨てた方がよい」のご意見に賛同しつつあります。

    以下、行った試行錯誤です。
    -------------------------------------------------------------------------------------------------------------------------------------------------------
    ・Etherのチップは純正ボードのS7G2-SKはKSZ8081を、apのap-s7g2-0aはKSZ8041RNLI を利用。
    ・メーカがボードと共に提供するBSPファイル(PACKファイル)があり、これはハードウェアに依存する
     プログラムやピン配置に関する情報をまとめたものと思われる。
     拡張子packをzipに変更してPACKファイルの中をのぞくと、
     純正ボードのPACKファイルの中には、bsp_ethernet_phy.hが存在し、apの方には
     これが存在しない
    ・bsp_ethernet_phy.hの中ではマクロBSP_BOARD_PHY_KSZ8081を定義している

    純正ボードとアルファプロジェクトとでEtherのチップ番号が異なるが、
    おそらく動作は同じだろうという仮説の元、
    コンパイル時のプリプロセッサをカスタマイズするダイアログで、上記マクロを定義し
    コンパイルしたところ、コンパイルエラーが無くなった。
    マイコンボード上で、TELNETサーバを稼働させるサンプルプログラムを実行したところ、
    一見、動作している模様。
  • Urkさん、こんにちは。NoMaYと申します。

    たまたまウェブで調べ物をしていて気付いたのですが、SSP v1.7.8対応のサンプルが公開されたようですよ。(私ではRenesas Synergyの中身は分かりませんので、所望のものが入っているかは分からないのですけれども。)

    サポート - 株式会社アルファプロジェクト
    www.apnet.co.jp/support/

    2020/10/15    更新    Renesas Synergy™CPUボード サンプルプログラム更新(SSPV1.7.8対応)


  • NoMaY 様、お知らせ有難うございます。
    ウォッチしてなかたので、大変助かります。

    サンプルプログラムもドキュメントも全て更新が行われています。
    早速「AP-S7G2-0A Ethernet サンプルプログラム」をダウンロードして、試してみました。
    残念ながら、今までとは異なるエラー(bsp_board_cfg.hが見つからない)が出るようになりました。

    ちなみに、サンプルプログラムのファイル群の中にはsynergy_gen配下のファイルも含まれています。
    私の拙い理解では、synergy_gen配下は、GenerateProjectContentで生成されるプログラムなので、
    配布プログラムに含まれている事に違和感を感じます。
    コンパイルエラーが出る事と直接の関係はないのかも知れませんが、
    いままでの経緯から、疑念を抱く対象が拡散してしまいます。
  • Urkさん、こんにちは。NoMaYです。

    > 私の拙い理解では、synergy_gen配下は、GenerateProjectContentで生成されるプログラムなので、配布プログラムに含まれている事に違和感を感じます。

    そのことは構わないと、私は、思います。例えば、私が、かふぇルネにプログラムを投稿する時やFreeRTOSのForum/GitHubにプログラムを投稿する時も、RL78コード生成機能やRXスマートコンフィグレータで生成されるフォルダ以下丸ごと投稿していますね。(単に"ビルド"すれば良いようにと思ってです。もっとも、これらの場合は、生成されたソースの"ユーザ記述部"にコードを追加しておくことも多いので、そうする必要がある、ということもありますけど。)

    [追記]

    あっ、フォルダ以下丸ごと、と書きましたが、APIドキュメントのPDFが含まれている場合は容量節約の為にPDFファイルを削除しています。

    それと、もしかすると、Renesas Synergyのコード生成メカニズム的に、それではとても都合が悪い、ということがあったりするかも知れないですので、すみません、その点は私の配慮不足だったかも、と思いました。

  • NoMaY様、さっそくのご返信ありがとうございます。

    synergy_gen配下のソースについては、本題とずれますが、GenerateProjectContentが何をしてくれるのか今一つ理解しておらず、ここも知りたい点です。
    GenerateProjectContentを押下すると、synergy_gen配下のプログラムは上書きされるという認識です。従って、ユーザプログラムをそこに書くべきではないと理解していました。『"ユーザ記述部"にコードを追加しておくことも多い』という使い方を前提とすると、うっかりGenerateProjectContentは押せないという事でしょうか。