Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

AESライブラリを開発するライブラリにリンクしたい

RXマイコンを使用し、CS+ for CCにて、AESライブラリを使用して任意のデータを暗号・復号化するライブラリを開発していますが、

開発ライブラリをテスト用のファームにリンクしようとすると、以下のリンカエラーになってしまいます。

 

(E)    E0562310    E0562310:Undefined external symbol "_R_Aes_256_OtfCbcdec" referenced in "encrypt" test.mtpj

 

開発ライブラリで使用しているのは"aes_rx600_little.lib"ですが、ファームにリンクする(ファームのプロジェクトに乗せる)のは

開発ライブラリの.libファイルだけにしたいと考えています。

この場合の開発ライブラリおよびファームのリンク・オプション等はどのように設定すればいいでしょうか?

  • aes_rx600_little.lib の内容を開発中のライブラリに取り込みたい、ということでしょうか?
    どのような運用を想定されているのか解りませんが、技術的なこと以前の話として aes_rx600_little.lib 利用ライセンス的に問題がないか確認されるべきでは。
  • In reply to fujita nozomu:

    分かりづらくてごめんなさない。取り込むというか静的リンクしてファーム開発時にはリンク設定とかしなくていいようにしたいということです。
    ライセンスの問題がありうるんですね、問い合わせ先等、分かりづらかったのでこちらに投稿してしまいました。
    申し訳ありませんが、AESライブラリのライセンスに関する問い合わせはどこに行えばいいでしょうか?
  • In reply to オバリヨン:

    > 取り込むというか静的リンクしてファーム開発時にはリンク設定とかしなくていいようにしたいということです。

    「静的リンク」の認識が私と異なるようなのですいませんが分かりません。

    > AESライブラリのライセンスに関する問い合わせはどこに行えばいいでしょうか?

    一般に公開されていない暗号ライブラリの問い合わせ先は入手された元以外ないのでは。公開や販売を考えられていないのであれば恐らくは問題ないと思いますが。

  • オバリヨンさん、こんにちは。NoMaYと申します。

    >(E)    E0562310    E0562310:Undefined external symbol "_R_Aes_256_OtfCbcdec" referenced in "encrypt" test.mtpj

    そのライブラリのユーザーズマニュアル or readme.txt等に何かR_Aes_256_OtfCbcdecに関する記述は無いですか? これは、何かリンクすべきライブラリが足りていないとか? それとも、ユーザのプロジェクトにCソース記述で追加することになっている関数を記述し忘れているとか? そういうことなのだろうと思うのですが、何かドキュメントに記載がありませんか? それによって、その先の話が変わってきそうです。

  • In reply to NoMaY:

    オバリヨンさん

    こんにちは、シェルティと申します。

    AESライブラリ含めRXマイコンのサンプルソフト全般の設計開発を担当しております。
    R_Aes_256_OtfCbcdec()はR8C用にM16C用で用意した特殊関数ですね。
    RXマイコン用の正規AESライブラリaes_rx600_little.libには入れてない関数です。

    最新版のAESライブラリをお渡ししますので、技術お問い合わせ窓口に問い合わせていただけますか?
    www.renesas.com/.../contact.html
    →技術問合せ(問い合わせをする。)→右上の「ログイン」からMyRenesasログイン→お問合せ(マイチケット)

    以下AESライブラリ含め、RXマイコン関連のソフトウェアライセンスのお話をまとめさせていただきました。

    ---
    ソフトウェアライセンス周りが分かりづらく申し訳ありません。
    RXマイコンのソフトはライセンス周りをクリアにするため、
    まずは有償での販売を取りやめ、サンプルソフト提供に一本化しました。
    現在、すべてのRXマイコン用のソフトは以下ソフトウェア利用許諾契約書に従い配布しております。
    www.renesas.com/.../disclaimer002.html

    SDカードドライバなどのこれまでライセンス周りがややこしかったソフトを整理しきり、
    無償サンプル化しておりますので必要に応じてウェブからダウンロードして試してみてください。
    RXマイコンのサンプルソフトは以下ページからダウンロード可能です。
    www.renesas.com/.../fit.html
    →「デバイス別FITモジュール」参照

    暗号関連のソフトについては、輸出規制該当品となりますので、
    需要者を特定させていただいた後個別提供となります。
    技術お問合せ窓口より入手方法ほか技術的な内容についてお問合せください。

    以上です
  • In reply to シェルティ:

    > シェルティさん
    ありがとうございます。ご提供いただいた情報を確認の上、お問い合わせさせていただきます。

    > NoMaYさん
    使いたいAPIが提供されていないライブラリ(libファイル)を使っていたみたいです。

    > fujitaさん
    静的リンクという表現がまずかったです。
    単にファームのプロジェクトに取り込むライブラリは開発ライブラリのlibファイルのみとしたい、という意味です。
    ファームのソース管理はAESライブラリを意識せずに管理できるようにしたかったのです。
    ファームはAESライブラリを直接予備のではなく、ラッパーとなる開発ライブラリからAES暗号化機能を使用するという構成を考えています。
  • オバリヨンさん、こんにちは。NoMaYです。

    おそらく、以下のリンクエラーはシェルティさんから提供されるライブラリ(仮にaes_rx600_and_additional_api_little.libというファイル名だとして)をaes_rx600_little.libの代わりにリンクすれば解消すると思われますが、

    >(E)    E0562310    E0562310:Undefined external symbol "_R_Aes_256_OtfCbcdec" referenced in "encrypt" test.mtpj

    このリンクエラーが解消されれば、以下の件も解決でしょうか?(勤めておられる会社の慣例的な言い回しであるだけのことなのかも知れませんが、つまり「ファームにリンクするのは開発ライブラリのlibファイルだけにしたい」というのは単に「このリンクエラーを解消したい」ということ、だという理解で合ってますでしょうか?)

    >ファームにリンクする(ファームのプロジェクトに乗せる)のは 開発ライブラリの.libファイルだけにしたいと考えています。
    >この場合の開発ライブラリおよびファームのリンク・オプション等はどのように設定すればいいでしょうか?

    >単にファームのプロジェクトに取り込むライブラリは開発ライブラリのlibファイルのみとしたい、という意味です。
    >ファームのソース管理はAESライブラリを意識せずに管理できるようにしたかったのです。
    >ファームはAESライブラリを直接予備のではなく、ラッパーとなる開発ライブラリからAES暗号化機能を使用する
    >という構成を考えています。

    ちなみに、漠然とですが、上の「ソース管理」や「管理」というのは「ソース記述」や「記述」ということなのだろうな、と私は解釈しました。(なお、単に「直接予備」は「直接呼ぶ」の打ち間違いですね。)

  • In reply to NoMaY:

    NoMaYさん、ありがとうございます。
    まずまずはリンカエラーが取れるかどうかなのだと考えています。ラッパーライブラリのlibファイルを作成し、そのライブラリを使用してファームからAES暗号化ができることが私のミッションになっています。

    管理といっているのはプロジェクト設定を指していました。CS+を使用していますが、ファームのプロジェクトのリンクオプションにはAESとラッパーのlibファイルの両方を置きたくなったというだけです。
    せっかくラッパー作ってるのにAESライブラリまでおいていたら、ラッパー作る意味ないんでは?という突込みが社内から入ってくるのが怖かったのです。
  • オバリヨンさん、こんにちは。NoMaYです。

    リンクエラーが解消された先に、もうひとつ課題がある、ということで了解しました。(第一印象はそういう印象だったのですが、やはりそういうことだったのですね。)

    そのもうひとつの課題である以下の件ですが、リンクエラーが解消された後、上司/先輩に相談されてみるのが良いと思うのです。というのは、自分の経験では、そういう突っ込みは無いはず、だと考えられるからです。むしろ、半導体メーカ(或いはソフトウェア会社)から入手したライブラリがバージョンアップされた時などに、新しく入手したバージョンアップ後のlibファイルへ容易に差し替え出来るメリットのある「両方置く方法」が多数派、だと考えられるからです。(自分の経験からですが。)

    >ファームのプロジェクトのリンクオプションにはAESとラッパーのlibファイルの両方を置きたくなったというだけです。

    >せっかくラッパー作ってるのにAESライブラリまでおいていたら、ラッパー作る意味ないんでは?という突込みが
    >社内から入ってくるのが怖かったのです。

    ラッパーを作る意味/目的は以下であろう、と思われますが、「両方置く」(両方リンクする)ことで、それを達成出来なくなってしまうものでは無いと思うのです。

    (1) 将来、他社マイコンを使うことになった時でも、ラッパーでライブラリの差異を吸収すれば、上位側ソフトは無変更で済む
    → その他社マイコンのライブラリとそのライブラリ向けのラッパーをリンクする、ということになりますね
    (2) ルネサス社固有の"R_"で始まる関数名に抵抗を感じている
    → 例えばN社やS社のマイコンを使うことになった時に"R_"で始まる関数名には違和感を感じてしまいますよね

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page