3

STM32F407 マイクロコントローラー (ARM Cortex M4 ベース) で openSSL-FIPS をサポートする組み込み Bluetooth アプリケーションを開発する可能性を検討しています。このアプリケーションは、Linux、Windows、または Android などの一般的な OS では実行されませんが、CMSIS-RTX RTOS では実行されます。コンパイル用に組み込みの armc コンパイラ (armcc) を使用した開発環境として、Windows で Keil を使用しています。

分析中に、openSSL ライブラリのビルドとインストールの方法を説明している OpenSSL wiki を見つけました: Compilation and Installation。このページには ARM プラットフォーム用のコンパイルのセクションがありますが、その方法についての説明はありません。

また、ARM での openSSL のクロス コンパイルに関する stackoverflow の議論もいくつか見てきました。しかし、これらの議論はすべて ARM+Linux に基づいており、RTOS に関するものはありません。

ARMでのコンパイルに関する次のリンクも確認しました

ただし、ここで指定するコンパイラは GCC です。

  1. 上記のプラットフォームで使用できるライブラリはありますか?

  2. RTOS を使用して、openSSL を ARM Cortex M4 プラットフォームに移植することはできますか? より具体的には、CMSIS RTX を使用して STM32F407 に移植することは可能ですか?

  3. 可能であれば、どこから始めるべきで、どのくらい複雑ですか?.

  4. GCC コンパイラで openSSL ライブラリをコンパイルし、それを armc でコンパイルされたアプリケーションで使用すると、動作しますか? (当たらない予感)

  5. 組み込みソフトウェアで使用できる他の SSL ライブラリはどれですか? (WolfSSLが選択肢になるかもしれないと聞きました)

4

1 に答える 1

6
  1. はい、利用可能なライブラリがあります

  2. コンパイルされたバイナリに適合する十分なフラッシュがデバイスにある場合、openSSL を ARM Cortex m4 に移植することが可能です。

    • OpenSSL は非常に大きなライブラリopenssl-too-big 800K のリリース モードです。これは通常、STM32F4 には適合せず、ましてや独自のアプリケーションのための余地を残すことはありません。STM32F-データシート
  3. まず、Windows で OpenSSL をコンパイルし、フットプリント サイズを確認します。この手順を実行して、デバイスの利用可能なフラッシュ メモリに収まらないことを確認することは複雑ではありません。

  4. デバイスに適合しないため、機能しない可能性があります。ここでも、「うまくいくか」ではなく「収まるか」というサイズの問題に行き着きます。

  5. その他の SSL ライブラリ:

于 2016-09-27T21:18:08.893 に答える