2016-09-16 67 views
4

我正在研究在STM32F407微控制器(基於ARM Cortex M4)上開發嵌入式藍牙應用 以及openSSL-FIPS支持的可行性。該應用程序不能在Linux,Windows或andriod等通用操作系統上運行,但可在CMSIS-RTX RTOS上運行。我在Windows中使用Keil作爲內置armc編譯器(armcc)進行編譯的開發環境。在RTOS環境下在基於ARM Cortex M4的STM32F4控制器上構建OpenSSL庫

在我的分析,我發現了OpenSSL的維基,說明如何構建和安裝OpenSSL庫:Compilation and Installation。在該頁面中,雖然有一段用於ARM平臺的編譯,但沒有關於如何執行的說明。

我也通過一些關於計算器在交叉編譯ARM OpenSSL中討論了。但是所有的論文都是基於ARM + Linux的,並且它們都不在RTOS上。

我還通過下面的鏈接去與ARM編譯

但是這裏指定的編譯器是GCC。

  1. 是否有可用的庫可用於所述的平臺?

  2. 是否有可能OpenSSL的端口來的ARM Cortex M4平臺與RTOS?更具體的說,可以使用CMSIS RTX將它移植到STM32F407上?

  3. 如果可能的話,我應該在哪裏開始,有多少複雜的是它?

  4. 如果我編譯OpenSSL庫在GCC編譯器並使用它在ARMC編譯的應用程序將它的工作? (我有一種感覺,它不會)

  5. 我可以用嵌入式軟件使用哪些其他SSL庫? (聽說WolfSSL可能是一個選擇)

+0

Keil在網上有補丁。不幸的是,它的OpenSSL 0.9.8(yuk!)的古董版本。我最後一次看,可以作爲一個新項目的起點。 – jww

+0

完整的OpenSSL庫相當大。你想解決什麼問題? NaCl(和tweetnacl)是否足夠完成你的工作? – domen

+0

@domen我試圖使藍牙連接更安全的要求是針對使用OpenSSL(或任何變體)。 – Jinu

回答

5
  1. 是有可用

  2. 是可能的端口OpenSSL的到的ARM Cortex M4如果設備有足夠的閃存,以適應編譯庫二進制

    • OpenSSL是一個非常大的庫openssl-too-big 800K在發佈模式。這通常不適用於任何STM32F4,更不用說爲您自己的應用留下空間。STM32F-datasheet
  3. 您會先在Windows中編譯OpenSSL並檢查佔位大小。執行此步驟並不複雜,並驗證它不適合您設備上的可用閃存。

  4. 它可能不會工作,因爲它不適合在設備上。再次回到尺寸問題,而不是「它會工作」,但「它會適合」。

  5. 其它SSL庫:

+0

更新:wolfSSL增加了對CubeMX硬件抽象層(HAL)的支持。對於那些你在STM32(F0,F1,F2,F3,F4,F7,L0,L1或L4)開發,如果你使用的是CubeMX代碼生成器產生的標準外設庫,那麼你可以利用Harware加密的支持在wolfSSLv3.10.0發佈中加入! 查看的定義/wolfssl/wolfcrypt/settings.h'''WOLFSSL_STM32F2'''和'''WOLFSSL_STM32F4'''作爲模型如果在任何其他萬分之一的工作。測試是在F2和F4上完成的,因此這些是目前唯一可用的默認選項。 – Kaleb

相關問題